gpt4 book ai didi

Python使用matplotlib和pandas实现的画图操作【经典示例】

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python使用matplotlib和pandas实现的画图操作【经典示例】由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了Python使用matplotlib和pandas实现的画图操作。分享给大家供大家参考,具体如下:

画图在工作再所难免,尤其在做数据探索时候,下面总结了一些关于python画图的例子 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#encoding:utf-8
'''''
Created on 2015年9月11日
@author: ZHOUMEIXU204
'''
# pylab 是 matplotlib 面向对象绘图库的一个接口。它的语法和 Matlab 十分相近
import pandas as pd
#from ggplot import *
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.randn( 1000 , 4 ),columns = list ( 'ABCD' ))
df = df.cumsum()
print (plt.figure())
print (df.plot())
print (plt.show())
# print(ggplot(df,aes(x='A',y='B'))+geom_point())

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

?
1
2
3
4
5
6
7
# 画简单的图形
from pylab import *
x = np.linspace( - np.pi,np.pi, 256 ,endpoint = True )
c,s = np.cos(x),np.sin(x)
plot(x,c, color = "blue" , linewidth = 2.5 , linestyle = "-" , label = "cosine" ) #label用于标签显示问题
plot(x,s,color = "red" , linewidth = 2.5 , linestyle = "-" , label = "sine" )
show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

?
1
2
3
4
5
6
7
#散点图
from pylab import *
n = 1024
X = np.random.normal( 0 , 1 ,n)
Y = np.random.normal( 0 , 1 ,n)
scatter(X,Y)
show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

?
1
2
3
4
5
6
7
8
9
10
11
12
#条形图
from pylab import *
n = 12
X = np.arange(n)
Y1 = ( 1 - X / float (n)) * np.random.uniform( 0.5 , 1.0 ,n)
Y2 = ( 1 - X / float (n)) * np.random.uniform( 0.5 , 1.0 ,n)
bar(X, + Y1, facecolor = '#9999ff' , edgecolor = 'white' )
bar(X, - Y2, facecolor = '#ff9999' , edgecolor = 'white' )
for x,y in zip (X,Y1):
  text(x + 0.4 , y + 0.05 , '%.2f' % y, ha = 'center' , va = 'bottom' )
ylim( - 1.25 , + 1.25 )
show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

?
1
2
3
4
5
#饼图
from pylab import *
n = 20
Z = np.random.uniform( 0 , 1 ,n)
pie(Z), show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#画三维图
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from pylab import *
fig = figure()
ax = Axes3D(fig)
x = np.arange( - 4 , 4 , 0.1 )
y = np.arange( - 4 , 4 , 0.1 )
x,y = np.meshgrid(x,y)
R = np.sqrt(x * * 2 + y * * 2 )
z = np.sin(R)
ax.plot_surface(x,y,z,rstride = 1 ,cstride = 1 ,cmap = 'hot' )
show()

运行效果:

Python使用matplotlib和pandas实现的画图操作【经典示例】

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#用于图像显示的问题
import matplotlib.pyplot as plt
import pandas as pd
weights_dataframe = pd.DataFrame()
plt.figure()
plt.plot(weights_dataframe.weights_ij,weights_dataframe.weights_x1,label = 'weights_x1' )
plt.plot(weights_dataframe.weights_ij,weights_dataframe.weights_x0,label = 'weights_x0' )
plt.plot(weights_dataframe.weights_ij,weights_dataframe.weights_x2,label = 'weights_x2' )
plt.legend(loc = 'upper right' ) #用于标签显示问题
plt.xlabel(u "迭代次数" , fontproperties = 'SimHei' )
plt.ylabel(u "参数变化" , fontproperties = 'SimHei' )
plt.title(u "迭代次数显示" , fontproperties = 'SimHei' ) #fontproperties='SimHei' 用于可以显示中文
plt.show()
import matplotlib.pyplot as plt
from numpy.random import random
colors = [ 'b' , 'c' , 'y' , 'm' , 'r' ]
lo = plt.scatter(random( 10 ), random( 10 ), marker = 'x' , color = colors[ 0 ])
ll = plt.scatter(random( 10 ), random( 10 ), marker = 'o' , color = colors[ 0 ])
l = plt.scatter(random( 10 ), random( 10 ), marker = 'o' , color = colors[ 1 ])
a = plt.scatter(random( 10 ), random( 10 ), marker = 'o' , color = colors[ 2 ])
h = plt.scatter(random( 10 ), random( 10 ), marker = 'o' , color = colors[ 3 ])
hh = plt.scatter(random( 10 ), random( 10 ), marker = 'o' , color = colors[ 4 ])
ho = plt.scatter(random( 10 ), random( 10 ), marker = 'x' , color = colors[ 4 ])
plt.legend((lo, ll, l, a, h, hh, ho),
    ( 'Low Outlier' , 'LoLo' , 'Lo' , 'Average' , 'Hi' , 'HiHi' , 'High Outlier' ),
    scatterpoints = 1 ,
    loc = 'lower left' ,
    ncol = 3 ,
    fontsize = 8 )
plt.show()
?
1
2
3
4
5
6
7
8
9
10
11
12
13
#pandas中画图
#画累和图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn( 1000 ),index = pd.date_range( '1/1/2000' ,periods = 1000 ))
ts = ts.cumsum()
ts.plot()
plt.show()
df = pd.DataFrame(np.random.randn( 1000 , 4 ),index = ts.index,columns = list ( 'ABCD' ))
df = df.cumsum()
df.plot()
plt.show()
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import pandas as pd
import  numpy  as  np
import matplotlib.pyplot as plt
#画柱状图
df2 = pd.DataFrame(np.random.rand( 10 , 4 ), columns = [ 'a' , 'b' , 'c' , 'd' ])
df2.plot(kind = 'bar' ) #分开并列线束
df2.plot(kind = 'bar' , stacked = True ) #四个在同一个里面显示 百分比的形式
df2.plot(kind = 'barh' , stacked = True ) #纵向显示
plt.show()
df4 = pd.DataFrame({ 'a' :np.random.randn( 1000 ) + 1 , 'b' :np.random.randn( 1000 ), 'c' :np.random.randn( 1000 ) - 1 },columns = list ( 'abc' ))
df4.plot(kind = 'hist' , alpha = 0.5 )
df4.plot(kind = 'hist' , stacked = True , bins = 20 )
df4[ 'a' ].plot(kind = 'hist' , orientation = 'horizontal' ,cumulative = True ) #cumulative是按顺序排序,加上这个
plt.show()
#Area Plot
df = pd.DataFrame(np.random.rand( 10 , 4 ), columns = [ 'a' , 'b' , 'c' , 'd' ])
df.plot(kind = 'area' )
df.plot(kind = 'area' ,stacked = False )
plt.show()
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#散点图
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.rand( 50 , 4 ), columns = [ 'a' , 'b' , 'c' , 'd' ])
df.plot(kind = 'scatter' , x = 'a' , y = 'b' )
df.plot(kind = 'scatter' , x = 'a' , y = 'b' ,color = 'DarkBlue' , label = 'Group 1' )
#饼图
df = pd.DataFrame( 3 * np.random.rand( 4 , 2 ), index = [ 'a' , 'b' , 'c' , 'd' ], columns = [ 'x' , 'y' ])
df.plot(kind = 'pie' , subplots = True , figsize = ( 8 , 4 ))
df.plot(kind = 'pie' , subplots = True ,autopct = '%.2f' ,figsize = ( 8 , 4 )) #显示百分比
plt.show()
#画矩阵散点图
df = pd.DataFrame(np.random.randn( 1000 , 4 ), columns = [ 'a' , 'b' , 'c' , 'd' ])
pd.scatter_matrix(df, alpha = 0.2 , figsize = ( 6 , 6 ), diagonal = 'kde' )
plt.show()

实际我个人喜欢用R语言画图,python画图也有ggplot类似的包 。

希望本文所述对大家Python程序设计有所帮助.

原文链接:https://blog.csdn.net/luoyexuge/article/details/49069225 。

最后此篇关于Python使用matplotlib和pandas实现的画图操作【经典示例】的文章就讲到这里了,如果你想了解更多关于Python使用matplotlib和pandas实现的画图操作【经典示例】的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com