matplotlib绘图

关注公众号“轻松学编程”了解更多。

Series和DataFrame都有一个用于生成各类图表的plot方法。默认情况下,它们所生成的是线形图

%matplotlib inline 是IPython 中的一个魔法函数。

以下命令都是在浏览器中输入。

cmd命令窗口输入:jupyter notebook

后打开浏览器输入网址http://localhost:8888/

导入库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series,DataFrame
#内嵌画图
%matplotlib inline
#绘图时可以显示中文
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

一、Matplotlib基础知识

Matplotlib中的基本图表包括的元素

  • x轴和y轴 axis
    水平和垂直的轴线

  • x轴和y轴刻度 tick
    刻度标示坐标轴的分隔,包括最小刻度和最大刻度

  • x轴和y轴刻度标签 tick label
    表示特定坐标轴的值

  • 绘图区域(坐标系) axes

  • 坐标系标题 title

  • 轴标签 xlabel ylabel

1、包含单条曲线的图 plt.plot(x)

  • 注意:y,x轴的值必须为数字
#只有一个参数的话,默认的下标做x轴
plt.plot(x)

x=[1,2,3,4,5]
y=[2,4,6,8,10]
plt.plot(x,y)

  • 绘制抛物线 :使用arange函数 y=x**2
x1=np.arange(-np.pi,np.pi,0.01)
y1=x1**2
plt.plot(x1,y1)

  • 绘制正弦曲线图 y=sin(x)
x=np.linspace(-np.pi,np.pi,100)
y=np.sin(x)
plt.plot(x,y)

2、包含多个曲线的图

2.1、连续调用多次plot函数

plt.plot(x,y)
plt.plot(x1,y1)

2.2、也可以在一个plot函数中传入多对X,Y值,在一个图中绘制多个曲线

plt.plot(x1,y1,x1+1,y1+1)

3、将多个曲线图绘制在一个table区域中:对象形式创建表图

  • a=plt.subplot(row,col,loc) 创建曲线图
  • a.plot(x,y) 绘制曲线图
#把table区域分成2行2列,最后一个1表示位置
a1=plt.subplot(2,2,1)
a1.plot(x,y) a2=plt.subplot(2,2,2)
a2.plot(x,y)
a2.plot(x+1,y+1) a3=plt.subplot(2,2,3)
a3.plot(x,y) #也可以去掉逗号
a4=plt.subplot(224)
a4.plot(x,y)

4、网格线 gride(XXX)

参数:

  • axis
  • color:支持十六进制颜色
  • linestyle: – -. :
  • alpha

绘制一个正弦曲线图,并设置网格

plt.grid(color='r',linestyle='-.')
plt.plot(x,y)

  • 使用对象形式设置网格
ax_1=plt.subplot(111)
ax_1.grid(color='y')
ax_1.plot(x,y)

  • 绘制一个两行两列的曲线图阵,并设置网格
x=np.linspace(-np.pi,np.pi,100)
y=np.sin(x)
a1=plt.subplot(221)
a1.grid()
a1.plot(x,y)
a2=plt.subplot(222)
a2.grid()
a2.plot(x,y)
a3=plt.subplot(223)
a3.grid()
a3.plot(x,y)
a4=plt.subplot(224)
a4.grid()
a4.plot(x,y)

5、坐标轴界限

5.1 axis方法:修改x,y轴刻度值

plt.axis([xmin,xmax,ymin,ymax])

plt.plot(x,y)

plt.axis([-4,4,-2,2])
plt.plot(x,y)

5.2 plt.axis(‘off’)

关闭坐标轴

plt.plot(x,y)
plt.axis('off')

5.3 plt.figure(figsize=(a,b))

设置画布比例:plt.figure(figsize=(a,b))

a:x刻度比例;

b:y刻度比例 (

2:1)表示x刻度显示为y刻度显示的2倍 。

plt.figure(figsize=(10,5))
plt.plot(x,y)

5.4 xlim方法和ylim方法

还可以通过plt的xlim(xmin,xmax),ylim方法设置坐标轴范围

plt.xlim(-6,6)
plt.ylim(-2,2)
plt.plot(x,y)

5.5 通过对象的方式设置x,y轴的刻度值范围 ax.set_xlim(a,b)

ax1=plt.subplot(111)
ax1.set_xlim(-4,4)
ax1.set_ylim(-2,2)
ax1.plot(x,y)

  • 绘制一个圆 x2+y2=1 y=1-x2 0.5
# 圆的基本信息
# 1.圆半径
r = 2.0
# 2.圆心坐标
a, b = (0., 0.) theta = np.arange(0, 2*np.pi, 0.01)
x = a + r * np.cos(theta)
y = b + r * np.sin(theta)
axes = plt.subplot(111)
axes.axis('equal')
axes.plot(x, y)

x=np.linspace(-np.pi,np.pi,100)
y=(1-x**2)**0.5
y_=-y
plt.figure(figsize=(5,5))
plt.plot(x,y)
plt.plot(x,y_)
plt.axis('equal')

6、坐标轴标签

  • color 标签颜色

  • fontsize 字体大小

  • rotation 旋转角度

  • plt的xlabel方法和ylabel方法

x=np.linspace(-np.pi,np.pi,100)
y=np.cos(x)
plt.title('Title')
plt.ylabel(s='yyy',fontsize=16,rotation=0,color='r')
plt.xlabel(s='xxx',fontsize=16)
plt.plot(x,y)

  • 对象方法set_xlabel/ylabel()
ax=plt.subplot(111)
ax.set_xlabel('x_label')
ax.set_ylabel('y_label')
ax.set_title('title',fontsize=16)
ax.plot(x,y)

6.1 显示坐标轴中文标签

设置参数:fontproperties

x=np.linspace(-np.pi,np.pi,100)
y=np.cos(x)
ax=plt.subplot(111)
ax.set_xlabel('x轴',fontproperties='KaiTi',fontsize=30)
ax.set_ylabel('y轴',fontproperties='KaiTi',fontsize=30)
ax.set_title('title',fontsize=16)
ax.plot(x,y)


其它字体:

7、标题

plt.title()方法 ax.set_title()方法

8、图例

8.1 legend方法

两种传参方法:

  • 分别在plot函数中增加label参数,再调用plt.legend()方法显示
  • 直接在legend方法中传入字符串列表
x=np.linspace(0,10,30)
y=x ** 2
plt.plot(x,y,label='aaa')
plt.plot(x+1,y-1,label='bbb')
plt.legend()

plt.plot(x,y)
plt.plot(x+1,y-1)
plt.legend(['a','b'])

8.2 legend的参数

  • loc参数

  • loc参数用于设置图例标签的位置,一般在legend函数内

  • matplotlib已经预定义好几种数字表示的位置

字符串 数值 字符串 数值
best 0 center left 6
upper right 1 center right 7
upper left 2 lower center 8
lower left 3 upper center 9
lower right 4 center 10
right 5
plt.plot(x,y)
plt.plot(x+1,y-1)
plt.legend(['aaa','bbb'],loc=5)

loc参数可以是2元素的元组,表示图例左下角的坐标

  • [0,0] 左下

  • [0,1] 左上

  • [1,0] 右下

  • [1,1] 右上

  • ncol参数

ncol控制图例中有几列,在legend中设置ncol

plt.plot(x,y)
plt.plot(x+1,y-1)
plt.legend(['aaa','bbb'],loc=[1,1],ncol=2)

9、保存图片

9.1 使用figure对象的savefig函数来保存图片

fig = plt.figure()

figure.savefig的参数选项

  • filename
    含有文件路径的字符串或Python的文件型对象。图像格式由文件扩展名推断得出,例如,.pdf推断出PDF,.png推断出PNG
    (“png”、“pdf”、“svg”、“ps”、“eps”……)
  • dpi
    图像分辨率(每英寸点数),默认为100
  • facecolor ,打开保存图片查看
    图像的背景色,默认为“w”(白色)
#保存图片注意事项:第一步必须先得到figure对象,
#再使用plt进行绘图,然后保存图片
fig=plt.figure()
#关闭坐标轴
plt.axis('off')
plt.plot(x,y)
fig.savefig(filename='./111.jpg',dpi=500)

#读取图片
img=plt.imread('./111.jpg')
plt.imshow(img)
plt.show()

二、设置plot的风格和样式

plot语句中支持除X,Y以外的参数,以字符串形式存在,来控制颜色、线型、点型等要素,语法形式为: plt.plot(X, Y, ‘format’, …)

1、颜色

参数color或c

x=np.linspace(0,10,30)
y=x ** 2
plt.plot(x,y,c='y')
plt.plot(x+1,y-1,color='r')

颜色值的方式
  • 别名

    • color=‘r’
  • 合法的HTML颜色名

    • color = ‘red’
颜色 别名 HTML颜色名 颜色 别名 HTML颜色名
蓝色 b blue 绿色 g green
红色 r red 黄色 y yellow
青色 c cyan 黑色 k black
洋红色 m magenta 白色 w white
  • HTML十六进制字符串

    • color = ‘#eeefff’
  • 归一化到[0, 1]的RGB元组

    • color = (0.3, 0.3, 0.4)

2、透明度

alpha参数

ax=plt.subplot(111)
ax.plot(x,y,c='r',alpha=0.4)

3、背景色

设置背景色,通过传入facecolor参数,来设置坐标轴的背景色

#设置坐标系的前景色
ax=plt.subplot(111)
ax.plot(x,y,c='r')
ax.set_facecolor('green')

#设置坐标系的背景色
f=plt.figure()
p=plt.plot(x,y)
f.set_facecolor('yellow')

4、线型

参数linestyle或ls

线条风格 描述 线条风格 描述
‘-’ 实线 ‘:’ 虚线
‘–’ 破折线 ‘steps’ 阶梯线
‘-.’ 点划线 ‘None’ / ‘,’ 什么都不画
plt.plot(x,y,ls=':')

5、线宽

linewidth或lw参数

plt.plot(x,y,ls='steps',lw=5)

6、点型

  • marker 设置点形
  • markersize 设置点形大小
标记 描述 标记 描述
‘s’ 正方形 ‘p’ 五边形
‘h’ 六边形1 ‘H’ 六边形2
‘8’ 八边形
标记 描述 标记 描述
‘.’ ‘x’ X
‘*’ 星号 ‘+’ 加号
‘,’ 像素
标记 描述 标记 描述
‘o’ 圆圈 ‘D’ 菱形
‘d’ 小菱形 ‘’,‘None’,’ ',None
标记 描述 标记 描述
‘1’ 一角朝下的三脚架 ‘3’ 一角朝左的三脚架
‘2’ 一角朝上的三脚架 ‘4’ 一角朝右的三脚架
plt.plot(x,y,marker='o',lw=1)


plot参数设置marker前后景色:markerfacecolor=‘white’,markeredgecolor=‘black’ markersize=30设置大小 。

plt.plot(x,y,marker='d',lw=3,markerfacecolor='yellow',markeredgecolor='red',markersize=40)

7、多参数连用

注意:只可以设置颜色、点型、线型,可以把几种参数写在一个字符串内进行设置 ‘r-.o’ 。

plt.plot(x,'or-.',x*2,'b--<')

更多点和线的设置

参数 描述 参数 描述
color或c 线的颜色 linestyle或ls 线型
linewidth或lw 线宽 marker 点型
markeredgecolor 点边缘的颜色 markeredgewidth 点边缘的宽度
markerfacecolor 点内部的颜色 markersize 点的大小

8、在一条语句中为多个曲线进行设置

8.1 多个曲线同一设置

属性名声明

注意:不能多参数连用的形式设置 例如:‘rh–’

plt.plot(x1, y1, x2, y2, fmt, …)

plt.plot(x,y,x+1,y-1,y+3,y-2,c='r')

8.2 多个曲线不同设置

多个都进行设置,可以使用多参连用的形式 plt.plot(x1, y1, fmt1, x2, y2, fmt2, …)

p1,p2,p3=plt.plot(x,y,x+1,y-1,y+3,y-2,)
p1.set_lw(5)
p3.set_color('y')

plt.plot(x,y,'or-.',x+1,y-1,'yd',y+3,y-2,'g--')

9、X、Y轴坐标刻度

9.1 对x和y轴的刻度做映射

如下方法是对x和y轴的刻度做映射而并非修改

plt.xticks()和plt.yticks()方法

  • 需指定刻度值和刻度名称 plt.xticks([刻度列表],[名称列表])
  • 支持fontsize、rotation、color等参数设置
plt.plot(x,y)

plt.xticks([0,2,4,6,8,10],['a','b','c','d','e','f'])
plt.plot(x,y)

9.2 使用面向对象的方法设置刻度方法

如下方法是用来修改x和y轴的刻度值,而不是映射 使用画板的如下方法设置刻度axes = plt.subplot()

  • set_xticks、set_yticks 设置刻度值
  • set_xticklabels、set_yticklabels 设置刻度名称
ax=plt.subplot(111)
ax.plot(x,y)
ax.set_yticks([0,200,400,600,800,1000])

三、2D图形

1、直方图

  • 是一个特殊的柱状图,又叫做密度图。

【直方图的参数只有一个x!!!不像条形图需要传入x,y】

plt.hist()的参数:

  • bins
    可以是一个bin数量的整数值,也可以是表示bin的一个序列。默认值为10
  • normed
    如果值为True,直方图的值将进行归一化处理,形成概率密度,默认值为False
  • color
    指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,例如DataFrame对象,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色
  • orientation
    通过设置orientation为horizontal创建水平直方图。默认值为vertical
x=[1,2,2,3,4,4,5]
plt.hist(x,color='red')

x=[1,2,2,3,4,4,5]
plt.hist(x,color='g',normed=True)

2、条形图:plt.bar()

  • 参数:第一个参数是索引。第二个参数是数据值。第三个参数是条形的宽度

-【条形图有两个参数x,y】

  • width 纵向设置条形宽度
  • height 横向设置条形高度

bar()、barh()

x=[1,2,3,4,5]
y=[1,2,3,4,5]
plt.bar(x,y,0.5)

水平条形图

plt.barh(x,y,0.5)

3、饼图

【饼图也只有一个参数x】

pie()
饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小

3.1 普通各部分占满饼图
arr=[11,22,31,15]
plt.pie(arr)

3.2 普通未占满饼图:小数/比例


饼图阴影、分裂等属性设置

labels参数设置每一块的标签;

labeldistance参数设置标签距离圆心的距离(比例值)

autopct参数设置比例值小数保留位(%.3f%%);

​ %m.nf m 占位 n 小数点后保留几位 f 是以float格式输出

pctdistance参数设置比例值文字距离圆心的距离

explode参数设置每一块顶点距圆心的长度(比例值,列表);

colors参数设置每一块的颜色(列表);

shadow参数为布尔值,设置是否绘制阴影

startangle参数设置饼图起始角度

arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d'])

arr=[11,22,31,15]
plt.pie(arr,labels=['a','b','c','d'],labeldistance=0.3)

arr=[11,22,31,15]
#显示占比
#%m.nf m 占位 n 小数点后保留几位 f 是以float格式输出
plt.pie(arr,labels=['a','b','c','d'],
labeldistance=0.3,autopct='%.6f%%')

arr=[11,22,31,15]
plt.pie(arr,labels=['酱','醋','油','盐'],
labeldistance=0.3,
shadow=True,
explode=[0.2,0.3,0.2,0.4])

4、散点图:因变量随自变量而变化的大致趋势

【散点图需要两个参数x,y,但此时x不是表示x轴的刻度,而是每个点的横坐标!】

plt.scatter()

x=np.random.randn(300)
y=np.random.randn(300)
plt.scatter(x,y,marker='d',c=np.random.rand(300,3))

x=np.random.randn(300)
y=np.random.randn(300)
plt.scatter(x,y,c=[i for i in random_color(300)])

四、图形内的文字、注释、箭头

控制文字属性的方法:

Pyplot函数 API方法 描述
text() mpl.axes.Axes.text() 在Axes对象的任意位置添加文字
xlabel() mpl.axes.Axes.set_xlabel() 为X轴添加标签
ylabel() mpl.axes.Axes.set_ylabel() 为Y轴添加标签
title() mpl.axes.Axes.set_title() 为Axes对象添加标题
legend() mpl.axes.Axes.legend() 为Axes对象添加图例
figtext() mpl.figure.Figure.text() 在Figure对象的任意位置添加文字
suptitle() mpl.figure.Figure.suptitle() 为Figure对象添加中心化的标题
annnotate() mpl.axes.Axes.annotate() 为Axes对象添加注释(箭头可选)

所有的方法会返回一个matplotlib.text.Text对象

1、图形内的文字

plt.text()

plt.figtext()

x=[1,2,3]
y=[1,2,3]
plt.bar(x,y)
plt.text(0.7,1,s='第三',fontsize=40)
plt.figtext(0.4,0.8,s='排名',fontsize=40)

2、注释

annotate() xy参数设置箭头指示的位置,xytext参数设置注释文字的位置 arrowprops参数以字典的形式设置箭头的样式 width参数设置箭头长方形部分的宽度,headlength参数设置箭头尖端的长度, headwidth参数设置箭头尖端底部的宽度,shrink参数设置箭头顶点、尾部与指示点、注释文字的距离(比例值)

3、箭头

plt.figure(figsize=(12,9))
plt.axis([0, 10, 0, 20]);
arrstyles = ['-', '->', '-[', '<-', '<->', 'fancy',
'simple', 'wedge']
for i, style in enumerate(arrstyles):
plt.annotate(style, xytext=(1, 2+2*i), xy=(4, 1+2*i),
arrowprops=dict(arrowstyle=style)); connstyles=["arc", "arc,angleA=10,armA=30,rad=30", "arc3,rad=.2",
"arc3,rad=-.2", "angle", "angle3"]
for i, style in enumerate(connstyles):
plt.annotate(style, xytext=(6, 2+2*i), xy=(8, 1+2*i),
arrowprops=dict(arrowstyle='->', connectionstyle=style));
plt.show()

``'-'``        None
``'->'`` head_length=0.4,head_width=0.2
``'-['`` widthB=1.0,lengthB=0.2,angleB=None
``'|-|'`` widthA=1.0,widthB=1.0
``'-|>'`` head_length=0.4,head_width=0.2
``'<-'`` head_length=0.4,head_width=0.2
``'<->'`` head_length=0.4,head_width=0.2
``'<|-'`` head_length=0.4,head_width=0.2
``'<|-|>'`` head_length=0.4,head_width=0.2
``'fancy'`` head_length=0.4,head_width=0.4,tail_width=0.4
``'simple'`` head_length=0.5,head_width=0.5,tail_width=0.2
``'wedge'`` tail_width=0.3,shrink_factor=0.5
# xy参数设置箭头指示的位置,xytext参数设置注释文字的位置
# arrowprops参数以字典的形式设置箭头的样式
# width参数设置箭头长方形部分的宽度,
# headlength参数设置箭头尖端的长度,
# headwidth参数设置箭头尖端底部的宽度,
# shrink参数设置箭头顶点、尾部与指示点、注释文字的距离(比例值) y = [13, 11, 13, 12, 13, 10, 30, 12, 11, 13, 12, 12, 12, 11, 12]
plt.plot(y);
# 为了让注释不会超出图的范围,需要调整y坐标轴的界限
plt.ylim(ymax=35);
plt.annotate('this spot must really\nmean something', xy=(6, 30),
xytext=(8, 31.5),
arrowprops=dict(width=15,
headlength=20, headwidth=20,
facecolor='black', shrink=0.1));
plt.show()

# 生成3个正态分布数据数据集
x1 = np.random.normal(30, 3, 100)
x2 = np.random.normal(20, 2, 100)
x3 = np.random.normal(10, 3, 100) # 绘制3个数据集,并为每个plot指定一个字符串标签
#如果不想在图例中显示标签,可以将标签设置为_nolegend_
plt.plot(x1, label='plot')
plt.plot(x2, label='2nd plot')
plt.plot(x3, label='last plot') # 绘制图例
# 指定边界框起始位置为(0, 1.02),并设置宽度为1,高度为0.102
plt.legend(bbox_to_anchor=(0, 1.02, 1, 0.102),
ncol=3, # 设置列数为3,默认值为1
mode="expand",
# mode为None或者expand,当为expand时,图例框会扩展至整个坐标轴区域
borderaxespad=0.) # 指定坐标轴和图例边界之间的间距 # 绘制注解
plt.annotate("Important value", # 注解文本的内容
xy=(55,20), # 箭头终点所在位置
xytext=(5, 38),
# 注解文本的起始位置,箭头由xytext指向xy坐标位置
arrowprops=dict(arrowstyle='->'));
# arrowprops字典定义箭头属性,此处用arrowstyle定义箭头风格

五、3D图

导包 from mpl_toolkits.mplot3d.axes3d import Axes3D

import numpy as np
import matplotlib.pyplot as plt
#3d图形必须的
from mpl_toolkits.mplot3d.axes3d import Axes3D
%matplotlib inline

1、曲面图

#系数,由X,Y生成Z
a = 0.7
b = np.pi #计算Z轴的值
def mk_Z(X, Y):
return 2 + a - 2 * np.cos(X) * np.cos(Y) - a * np.cos(b - 2*X) #生成X,Y,Z
x = np.linspace(0, 2*np.pi, 100)
y = np.linspace(0, 2*np.pi, 100)
X,Y = np.meshgrid(x, y)
Z = mk_Z(X, Y) fig = plt.figure(figsize=(14,6)) #创建3d的视图,使用属性projection
ax = fig.add_subplot(1, 2, 1, projection='3d') ax.plot_surface(X,Y,Z,rstride = 5,cstride = 5) #创建3d视图,使用colorbar,添加颜色柱
ax = fig.add_subplot(1, 2, 2, projection='3d')
p = ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
cmap='rainbow', antialiased=True)
cb = fig.colorbar(p, shrink=0.5)

2、玫瑰图/极坐标条形图

#极坐标条形图
def showRose(values,title): max_value = values.max()
# 分为8个面元
N = 8
# 面元的分隔角度
angle = np.arange(0.,2 * np.pi, 2 * np.pi / N)
# 每个面元的大小(半径)
radius = np.array(values)
# 设置极坐标条形图 plt.axes([0, 0, 2, 2], polar=True,facecolor = 'g') colors = [(1 - x/max_value, 1 - x/max_value, 0.75) for x in radius]
# 画图 plt.bar(angle, radius, width=(2*np.pi/N), bottom=0.0,
color=colors)
plt.title(title,x=0.2, fontsize=20) #拉韦纳(Ravenna)又译“腊万纳”“拉文纳”“拉温拿”。
#意大利北部城市。位于距亚得里亚海10公里的沿海平原上
data = np.load('Ravenna_wind.npy')
hist, angle = np.histogram(data,8,[0,360])
showRose(hist,'Ravenna')

# 绘制一个极坐标图形
plt.axes(polar=True)
y = np.array([4,6,1,5,8])
x = np.array([0,1,2,3,4])
plt.bar(x,y,align='edge')

values = [40,30,20,10,80,70,60,50]
# 如果映射成一个圆,第一个点(0点)和最后一个点(360点)容易重合
# 所以一般把315°的点作为最后一个点处理 x = np.linspace(0,2*np.pi,9)[:-1] c = np.random.random(size=(8,3)) plt.axes(polar=True)
# param1 x 索引
# param2 height 数据的值
# param3 width 扇形区的宽度
# align 设置扇形的对齐方式
plt.bar(x,values,width=0.8,color=c,align='edge')

后记

【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。

也可加我微信【1257309054】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!

公众号

关注我,我们一起成长~~

python数据分析使用matplotlib绘图的更多相关文章

  1. python中利用matplotlib绘图可视化知识归纳

    python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...

  2. 数据分析07 /matplotlib绘图

    数据分析07 /matplotlib绘图 目录 数据分析07 /matplotlib绘图 1. 绘制线性图:plt.plot() 2. 绘制柱状图:plt.bar() 3. 绘制直方图:plt.his ...

  3. 【Python开发】matplotlib绘图不显示问题解决plt.show()

    最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...

  4. python数据分析工具 | matplotlib

    不论是数据挖掘还是数学建模,都免不了数据可视化的问题.对于 Python 来说,matplotlib 是最著名的绘图库,它主要用于二维绘图,当然也可以进行简单的三维绘图.它不但提供了一整套和 Matl ...

  5. python数据分析之:绘图和可视化

    在数据分析领域,最出名的绘图工具就是matlib.在Python同样有类似的功能.就是matplotlib.前面几章我们都在介绍数据的生成,整理,存储.那么这一章将介绍如果图形化的呈现这些数据.来看下 ...

  6. Python 中使用 matplotlib 绘图中文字符显示异常的问题

    最近在使用 Python matplotlib 绘制图表时发现中文字符不能正确显示:比如在绘制折线图时,中文全部显示成▢▢▢的格式,虽然将数据改成英文就没什么问题,但是所有数据都这么做时不可行的,于是 ...

  7. python数据分析入门——matplotlib的中文显示问题&最小二乘法

    正在学习<用python做科学计算>,在练习最小二乘法时遇到matplotlib无法显示中文的问题.查资料,感觉动态的加上几条语句是最好,这里贴上全部的代码. # -*- coding: ...

  8. python数据分析之matplotlib学习

    本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 类MATLAB API 最简单的入门是从类 MATLAB API 开始,它被设计成兼容 MATLAB 绘图函数. from p ...

  9. 【转】 Python 中,matplotlib绘图无法显示中文的问题

    在python中,默认情况下是无法显示中文的,如下代码: import matplotlib.pyplot as plt # 定义文本框和箭头格式 decisionNode = dict(boxsty ...

随机推荐

  1. springmvc 源码分析(二)-- DiapartcherServlet核心调用流程分析

    测试环境搭建: 本次搭建是基于springboot来实现的,代码在码云的链接:https://gitee.com/yangxioahui/thymeleaf.git 项目结构代码如下: 一: cont ...

  2. 跨时代的MySQL8.0新特性解读

    目录 MySQL发展历程 MySQL8.0新特性 秒级加列 性能提升 文档数据库 SQL增强 共用表表达式(CTEs) 不可见索引(Invisible Indexes) 降序索引(Descending ...

  3. AntDesign初体验

    AntDesign初体验 作为一个java开发也需要掌握一定的前端开发技能,毕竟靠人不如靠自己.再者,有时候一些小的改动自己就可以搞定了,就不用低三下四去求别人了: 安装Nodejs $ npm in ...

  4. day21 Pyhton学习 模块

    一.模块:就是一个包含了python定义和声明的文件,文件名是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用python编写的代码(.py文件) 2.已被编译为共 ...

  5. 联赛模拟测试17 A. 简单的区间 启发式合并

    题目描述 分析 我们要找的是一段区间的和减去该区间的最大值能否被 \(k\) 整除 那么对于一段区间,我们可以先找出区间中的最大值 然后枚举最大值左边的后缀与最大值右边的前缀之和是否能被 \(k\) ...

  6. 使用 volatile 关键字保证变量可见性和禁止指令重排序

    volatile 概述 volatile 是 Java 提供的一种轻量级的同步机制.相比于传统的 synchronize,虽然 volatile 能实现的同步性要差一些,但开销更低,因为它不会引起频繁 ...

  7. 经验分享:对于刚接触开发的大学生,怎么在Windows查看与关闭端口占用方法?

      前言:做开发有的时候会发现某一端口被占用了而导致不能正常启动服务,这个时候就需要把这个端口释放掉了,步骤如下 观察报错信息提示,了解是哪个端口号被占用,以8700为例 按win+r输入cmd打开控 ...

  8. Nexus 安装教程

    Nexus 安装教程 一. CentOS设置 1. 更换阿里源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/ ...

  9. Python可迭代对象和迭代器对象

    可迭代对象iterable: 对象字面意思:Python中一切皆对象.一个实实在在存在的值. 可迭代:更新迭代.迭代是一个重复的过程,每次重复是基于上一次的结果而继续的,每次都有新的内容. 可迭代对象 ...

  10. C# Timer用法及实例讲解

    摘自:http://www.cnblogs.com/xcsn/archive/2013/05/10/3070485.html 1.C# Timer用法及实例详解 http://developer.51 ...