赞
踩
1.散点图
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']#正常显示字体
mpl.rcParams['axes.unicode_minus'] = False#正常显示图像中的负号
x=np.random.randint(low=2,high=10,size=10)
y=np.random.randint(low=2,high=10,size=10)
plt.scatter(x,y)
plt.title('散点图')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
2.折线图
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
x=np.linspace(start=0,stop=30,num=300)
y=np.sin(x)
plt.plot(x,y)
plt.title('折线图')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
3.柱状图
更多柱状图
python画柱状图并数值显示
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
x=['a','b','c','d']
y=[3,5,7,9]
plt.bar(x,y,width=0.5)
plt.title('柱状图')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
4.直方图
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
x=np.random.normal(loc=10,scale=1,size=100)
plt.hist(x,bins=50)
plt.title('直方图')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
6.图形属性
常用的颜色属性
cnames = {
'aliceblue': '#F0F8FF',
'antiquewhite': '#FAEBD7',
'aqua': '#00FFFF',
'aquamarine': '#7FFFD4',
'azure': '#F0FFFF',
'beige': '#F5F5DC',
'bisque': '#FFE4C4',
'black': '#000000',
'blanchedalmond': '#FFEBCD',
'blue': '#0000FF',
'blueviolet': '#8A2BE2',
'brown': '#A52A2A',
'burlywood': '#DEB887',
'cadetblue': '#5F9EA0',
'chartreuse': '#7FFF00',
'chocolate': '#D2691E',
'coral': '#FF7F50',
'cornflowerblue': '#6495ED',
'cornsilk': '#FFF8DC',
'crimson': '#DC143C',
'cyan': '#00FFFF',
'darkblue': '#00008B',
'darkcyan': '#008B8B',
'darkgoldenrod': '#B8860B',
'darkgray': '#A9A9A9',
'darkgreen': '#006400',
'darkkhaki': '#BDB76B',
'darkmagenta': '#8B008B',
'darkolivegreen': '#556B2F',
'darkorange': '#FF8C00',
'darkorchid': '#9932CC',
'darkred': '#8B0000',
'darksalmon': '#E9967A',
'darkseagreen': '#8FBC8F',
'darkslateblue': '#483D8B',
'darkslategray': '#2F4F4F',
'darkturquoise': '#00CED1',
'darkviolet': '#9400D3',
'deeppink': '#FF1493',
'deepskyblue': '#00BFFF',
'dimgray': '#696969',
'dodgerblue': '#1E90FF',
'firebrick': '#B22222',
'floralwhite': '#FFFAF0',
'forestgreen': '#228B22',
'fuchsia': '#FF00FF',
'gainsboro': '#DCDCDC',
'ghostwhite': '#F8F8FF',
'gold': '#FFD700',
'goldenrod': '#DAA520',
'gray': '#808080',
'green': '#008000',
'greenyellow': '#ADFF2F',
'honeydew': '#F0FFF0',
'hotpink': '#FF69B4',
'indianred': '#CD5C5C',
'indigo': '#4B0082',
'ivory': '#FFFFF0',
'khaki': '#F0E68C',
'lavender': '#E6E6FA',
'lavenderblush': '#FFF0F5',
'lawngreen': '#7CFC00',
'lemonchiffon': '#FFFACD',
'lightblue': '#ADD8E6',
'lightcoral': '#F08080',
'lightcyan': '#E0FFFF',
'lightgoldenrodyellow': '#FAFAD2',
'lightgreen': '#90EE90',
'lightgray': '#D3D3D3',
'lightpink': '#FFB6C1',
'lightsalmon': '#FFA07A',
'lightseagreen': '#20B2AA',
'lightskyblue': '#87CEFA',
'lightslategray': '#778899',
'lightsteelblue': '#B0C4DE',
'lightyellow': '#FFFFE0',
'lime': '#00FF00',
'limegreen': '#32CD32',
'linen': '#FAF0E6',
'magenta': '#FF00FF',
'maroon': '#800000',
'mediumaquamarine': '#66CDAA',
'mediumblue': '#0000CD',
'mediumorchid': '#BA55D3',
'mediumpurple': '#9370DB',
'mediumseagreen': '#3CB371',
'mediumslateblue': '#7B68EE',
'mediumspringgreen': '#00FA9A',
'mediumturquoise': '#48D1CC',
'mediumvioletred': '#C71585',
'midnightblue': '#191970',
'mintcream': '#F5FFFA',
'mistyrose': '#FFE4E1',
'moccasin': '#FFE4B5',
'navajowhite': '#FFDEAD',
'navy': '#000080',
'oldlace': '#FDF5E6',
'olive': '#808000',
'olivedrab': '#6B8E23',
'orange': '#FFA500',
'orangered': '#FF4500',
'orchid': '#DA70D6',
'palegoldenrod': '#EEE8AA',
'palegreen': '#98FB98',
'paleturquoise': '#AFEEEE',
'palevioletred': '#DB7093',
'papayawhip': '#FFEFD5',
'peachpuff': '#FFDAB9',
'peru': '#CD853F',
'pink': '#FFC0CB',
'plum': '#DDA0DD',
'powderblue': '#B0E0E6',
'purple': '#800080',
'red': '#FF0000',
'rosybrown': '#BC8F8F',
'royalblue': '#4169E1',
'saddlebrown': '#8B4513',
'salmon': '#FA8072',
'sandybrown': '#FAA460',
'seagreen': '#2E8B57',
'seashell': '#FFF5EE',
'sienna': '#A0522D',
'silver': '#C0C0C0',
'skyblue': '#87CEEB',
'slateblue': '#6A5ACD',
'slategray': '#708090',
'snow': '#FFFAFA',
'springgreen': '#00FF7F',
'steelblue': '#4682B4',
'tan': '#D2B48C',
'teal': '#008080',
'thistle': '#D8BFD8',
'tomato': '#FF6347',
'turquoise': '#40E0D0',
'violet': '#EE82EE',
'wheat': '#F5DEB3',
'white': '#FFFFFF',
'whitesmoke': '#F5F5F5',
'yellow': '#FFFF00',
'yellowgreen': '#9ACD32'}
marker可选参数
'.' point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
'|' vline marker
'_' hline marker
linestyle可选参数:
'-' solid line style
'--' dashed line style
'-.' dash-dot line style
':' dotted line style
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
x=np.linspace(start=0,stop=30,num=30)
y=np.sin(x)
plt.plot(x,y,color='r',marker='d',linestyle='--',linewidth=2,alpha=0.8)
plt.title("颜色:红,标记:菱形,线性:虚线,线宽:2,透明度:0.8")
plt.xlabel('x')
plt.ylabel('y')
plt.show()
7.子图
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
fig=plt.figure(figsize=(10,10))#指定画布大小
ax1=fig.add_subplot(2,2,1)#添加一个子图,返回子图句柄
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,3)
ax4=fig.add_subplot(2,2,4)
#子图1
x=np.linspace(start=0,stop=30,num=30)
y=sin(x)
ax1.plot(x,y)
ax1.set_xlabel('x')
ax1.set_ylabel('y')
ax1.set_title('子图1')
#子图2
x=np.random.randint(low=2,high=10,size=10)
y=np.random.randint(low=2,high=10,size=10)
ax2.scatter(x,y)
ax2.set_xlabel('x')
ax2.set_ylabel('y')
ax2.set_title('子图2')
#子图3
x=['a','b','c','d']
y=[3,5,7,9]
ax3.bar(x,y,width=0.5)
ax3.set_xlabel('x')
ax3.set_ylabel('y')
ax3.set_title('子图3')
#子图4
x=np.random.normal(loc=10,scale=1,size=100)
ax4.hist(x,bins=50)
ax4.set_xlabel('x')
ax4.set_ylabel('y')
ax4.set_title('子图4')
plt.show()
或者
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
fig=plt.figure(figsize=(10,10))#指定画布大小
#fig.suptitle('大标题', fontsize=18)
#子图1
plt.subplot(2,2,1)
x=np.linspace(start=0,stop=30,num=30)
y=sin(x)
plt.plot(x,y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('子图1')
#子图2
plt.subplot(2,2,2)
x=np.random.randint(low=2,high=10,size=10)
y=np.random.randint(low=2,high=10,size=10)
plt.scatter(x,y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('子图2')
#子图3
plt.subplot(2,2,3)
x=['a','b','c','d']
y=[3,5,7,9]
plt.bar(x,y,width=0.5)
plt.xlabel('x')
plt.ylabel('y')
plt.title('子图3')
#子图4
plt.subplot(2,2,4)
x=np.random.normal(loc=10,scale=1,size=100)
plt.hist(x,bins=50)
plt.xlabel('x')
plt.ylabel('y')
plt.title('子图4')
plt.show()
8.三维图:曲线
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
fig=plt.figure(figsize=(10,10))#指定画布大小
ax=fig.gca(projection='3d')#指定为3D
#子图1
theta=np.linspace(-4*np.pi,4*np.pi,100)
z=np.linspace(start=-2,stop=2,num=100)
r=z**2+1
x=r*np.sin(theta)
y=z*np.cos(theta)
ax.plot(x,y,z)
plt.show()
9.三维图:散点图
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
fig=plt.figure(figsize=(10,10))#指定画布大小
ax=fig.gca(projection='3d')#指定为3D
#子图1
x1=np.random.random(100)*20
y1=np.random.random(100)*20
z=x1+y1
ax.scatter(x1,y1,z)
plt.show()
10.三维图:曲面图
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
fig=plt.figure(figsize=(10,10))#指定画布大小
ax=fig.gca(projection='3d')#指定为3D
x=np.arange(-5,5,0.25)
y=np.arange(-5,5,0.25)
x,y=np.meshgrid(x,y)#用np.meshgrid生成坐标网格矩阵
z=np.sin(np.sqrt(x**2+y**2))
#使用plot_surface函数
#cmap=cm.coolwarm是颜色属性
surf=ax.plot_surface(x,y,z,cmap=cm.coolwarm)
plt.show()
11.动态图
import matplotlib.pyplot as plt
import numpy as np
POINTS = 100
sin_list = [0] * POINTS
indx = 0
# fig, ax = plt.subplots()
while True:
if indx == 40:
indx = 0
indx += 1
# 更新绘图数据
sin_list = sin_list[1:] + [np.sin((indx / 20) * np.pi)]
# 显示时间
plt.pause(0.01)
# 清除上一次显示
plt.cla()
plt.plot(sin_list)
# plt.draw()也可以放在这个位置,不会阻塞
plt.draw()
12.使图片可以手动保存
前面画的图,我们只能copy,不能自己手动保存。
添加一行代码import matplotlib; matplotlib.use('TkAgg')
即可实现
不加这行代码
加
import numpy as np
import matplotlib.pyplot as plt
import matplotlib; matplotlib.use('TkAgg')
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
x=np.linspace(-2*np.pi,2*np.pi,400)
siny=np.sin(x)
cosy=np.cos(x)
plt.plot(x,siny,color="red",label="sin(x)")
plt.plot(x,cosy,color="blue",label="cos(x)",linestyle="--")
plt.xlabel("输入数据 x")
plt.ylabel("sin(x) 或者 cos(x)")
plt.title("三角函数图")
plt.legend()
plt.show()
然后我们可以手动保存,可以保存为不同格式。
13.调整坐标轴刻度大小
在绘图里加一行代码即可
plt.tick_params(labelsize=23)
14.高级三维 曲线图
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
fig=plt.figure(figsize=(10,10))#指定画布大小
ax=fig.gca(projection='3d')#指定为3D
#子图1
theta=np.linspace(-4*np.pi,4*np.pi,100)
x=np.sin(theta)
y=np.cos(theta)
ax.plot(np.ones(len(x)),np.arange(len(x)),x)
ax.plot(2*np.ones(len(x)),np.arange(len(x)),x)
ax.plot(3*np.ones(len(y)),np.arange(len(y)),y)
#plt.axis('off')#关闭所有坐标轴
ax.set_xlabel('个数')
ax.set_ylabel('长度')
ax.set_zlabel('数')
plt.legend()
plt.show()
作者:电气余登武
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。