Python图形

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/X_dmword/article/details/88849805

Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。

https://python-graph-gallery.com/all-charts/  

1、折线图

import matplotlib.pyplot as plt

import numpy as np

# 绘制折线图

squares = [1, 4, 9, 16, 25]

#要在前面设置 不然背景色盖住了折线 dpi默认80 ##结果边缘色没变??

plt.figure(dpi=40,figsize=(10,6),facecolor='#FF83FA',edgecolor='#00CD00')

plt.subplot(2,1,1)

# 指定折线粗细

plt.plot(squares, linewidth=5)  

# #plt.show();

#修改标签文字和文字大小

plt.title("squre number", fontsize=12)

plt.xlabel("Value", fontsize=14)

plt.ylabel("square of value", fontsize=8)

plt.tick_params(axis='both', labelsize=8)

x=np.linspace(0,3,10)

y=np.sin(x)

plt.subplot(2,1,2)

#plt.plot(x,y,"r-o") ##"o-r"中r红色,o实点,-连接线可以写成 ro- 或 or- 或 -or 顺序不要求

plt.plot(x,y)

plt.show()

# 校正图形

#input_values = [1, 2, 3, 4, 5]

#plt.plot(input_values, squares, linewidth=5)

#plt.show()

 

linspace()通过指定开始值、终值和元素个数创建表示等差数列的一维数组,可以通过endpoint参数指定是否包含终值,默认值为True,即包含终值。

arange()类似于内置函数range(),通过指定开始值、终值和步长创建表示等差数列的一维数组,注意得到的结果数组不包含终值。

2、 散点图

import matplotlib.pyplot as plt

x=[1,2,3,4,5]

y=[5,4,3,2,1]

plt.xlabel('x')

plt.ylabel('y')

plt.title('hhh')

#点的大小颜色

plt.scatter(x,y,s=20,c='r',marker='o')

plt.show()

 

3、在线绘图

 用户可以在网站(https://plot.ly)免费创建一个账号,绘制的图表会保存在自己的在线Plotly账号中。

import plotly as py

import plotly.graph_objs as go

pyplt=py.offline.plot

trace_1=go.Bar(x=["上海贸易","广东明珠","五矿发展"],y=[4.12,5.32,0.60],name="201609")

trace_2=go.Bar(x=["上海贸易","广东明珠","五矿发展"],y=[3.65,6.14,0.58],name="201612")

trace_3=go.Bar(x=["上海贸易","广东明珠","五矿发展"],y=[2.15,1.35,0.19],name="201703")

 

trace=[trace_1,trace_2,trace_3]

layout=go.Layout(title='对比图')##大写区分

figure=go.Figure(data=trace,layout=layout)

#pyplt(figure,filename='test_hh')

#得到 file:///C:/Users/Administrator/AppData/Local/Programs/Python/Python36/test_hh.html 

pyplt(figure,filename='test_hhh.html')

#若test/hhh出错

#得到

file:///C:/Users/Administrator/AppData/Local/Programs/Python/Python36/test_hhh.html

 

4、 turtle

Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

https://www.cnblogs.com/findsoon/articles/9359021.html 

## 绘制小蟒蛇

import turtle

def drawSnake(rad, angle, len, neckrad):

    for _ in range(len):

        turtle.circle(rad, angle)

    turtle.circle(-rad, angle)

    turtle.circle(rad, angle/2)

    turtle.forward(rad/2)  # 直线前进

    turtle.circle(neckrad, 180)

    turtle.forward(rad/4)

if __name__ == "__main__":

   turtle.setup(1500, 1400, 0, 0)

   turtle.pensize(30)  # 画笔尺寸

   turtle.pencolor("green")

   turtle.seth(-40)    # 前进的方向

   drawSnake(70, 80, 2, 15)

## 绘制螺旋图

import turtle

turtle.reset()

turtle.pensize(2)

turtle.bgcolor("black")

colors=['red','yellow','orange','green']

for x in range(400):

    turtle.forward(2*x)

    turtle.color(colors[x%4])

    turtle.left(89)

turtle.done() ##注意顶格

 

5、一平面多个图

 # library & dataset

#Seaborn是对matplotlib的extend,是一个数据可视化库,提供更高级的API封装

import seaborn as sns

import matplotlib.pyplot as plt

#使用内置的Seaborn数据集,可以使用load_dataset()函数

df = sns.load_dataset('iris')

# use the function regplot to make a scatterplot

pl(2,1,1)

sns.regplot(x=df["sepal_length"], y=df["sepal_width"])

#plt.plot(x=df["sepal_length"], y=df["sepal_width"]) #失败

#plt.show() 先不用,不然就只出现上面部分,再按一下,就又出现下面部分

 

# Without regression fit:

plt.subplot(2,1,2)

sns.regplot(x=df["sepal_length"], y=df["sepal_width"], fit_reg=False)

plt.show()

 

猜你喜欢

转载自blog.csdn.net/X_dmword/article/details/88849805
今日推荐