图的组成部分(取自matplotlib.org):
轮廓图
1. plt.contour( )方法
import matplotlib.pyplot as plt
import numpy as np
make data
X, Y = np.meshgrid(np.linspace(-3, 3, 256), np.linspace(-3, 3, 256))
Z = (1 - X/2 + X**5 + Y**3) * np.exp(-X**2 - Y**2)
levels = np.linspace(np.min(Z), np.max(Z), 7)
plot
fig, ax = plt.subplots()
ax.contour(X, Y, Z, levels=levels)
plt.show()
import matplotlib.pyplot as plt
import numpy as np
make data
X, Y = np.meshgrid(np.linspace(-3, 3, 256), np.linspace(-3, 3, 256))
Z = (1 - X/2 + X**5 + Y**3) * np.exp(-X**2 - Y**2)
levels = np.linspace(Z.min(), Z.max(), 7)
plot
fig, ax = plt.subplots()
ax.contourf(X, Y, Z, levels=levels)
plt.show()
np.meshgrid(a,b):生成二维平面网格
如:
a = np.array([1,2,3])
b = np.array([7,8])
c = np.meshgrid(a,b)
#输出:[array([[1, 2, 3],[1, 2, 3]]), array([[7, 7, 7], [8, 8, 8]])]
np.linspace(start, stop, num=x) #输出x个范围在start–stop内的数值
np.exp(x) : 求x的幂次方
np.sqrt(x) : 求x的开方(算数平方根)
plt.subplot():
指定子图的位置 创建一个图形和一组子图fig,ax = plt.subplots(2,3,1)
:2、3、1分别代表子图的行数、列数和第一个子图
函数返回一个figure图像和子图ax的array列表
plt.contour( ):绘制轮廓图
plt.contourf( ):绘制填充区域颜色的图表
plt.imshow( ):展示图像
2.pandas.plotting.parallel_coordinates( )方法
pandas.plotting.parallel_coordinates ( frame , class_column , cols = None , ax = None , color = None , use_columns = False , xticks = None , colormap = None , axvlines = True , axvlines_kwds = None , sort_labels = False , _ kwargs_ )**
frame :DataFrame类型数据
class_column :str类型,指定哪一列包含类的名字
cols :要使用的列名列表
ax :Matplotlib 轴对象
color :list or tuple,用于不同类别的颜色
use_columns:bool,如果为真,列将用作 xticks
xticks:用于 xticks 的值列表
colormap :用于线条颜色的颜色图
sort_labels :bool, 排序 class_column 标签,在分配颜色时很有用
**kwargs :传递给 matplotlib 绘图方法的选项
雷达图
举例代码:
import matplotlib.pyplot as plt
import numpy as np
中文和负号的正常显示
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False
#使用ggplot的绘图风格
plt.style.use('ggplot')
#构建角度和值
标签
labels = np.array(['aa','bb','cc','dd','ee','ff',"aa"])
数据
data = np.array([1,4,3,6,4,8])
数据长度
dataLenth = 6
分割圆周长
angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False)
数据闭合
data = np.concatenate((data, [data[0]]))
圆周长闭合
angles = np.concatenate((angles, [angles[0]]))
data:半径
lw=2:表示极坐标图案的宽度
bo-:绘制的极坐标图形为蓝色圆点加蓝线
plt.polar(angles, data, 'bo-', lw=2,alpha=0.5) #做极坐标系
做标签
plt.thetagrids(angles * 180/np.pi, labels)
#设置填充颜色,并且透明度为0.25
plt.fill(angles, data, facecolor='b', alpha=0.25)
#设置极轴的范围
plt.ylim(0,10)
#添加标题
plt.title('标题')
#显示网格线
plt.grid(True)
plt.show()
散布图矩阵
from pandas.plotting import scatter_matrix
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.randn(1000, 4), columns=['a', 'b', 'c', 'd'])
scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal='kde')
plt.show()
其他
条形图:df.plot.bar( ) 或 df.plot.barth( )
密度图:df.plot.kde( ) 或 df.plot.density( )
直方图:df.plot.hist( )
箱线图:df.plot.box( )
饼图:df.plot.pie( )
面积图:df.plot.area( )
散点图:df.plot.scatter( )
六边形 bin 图:df.plot.hexbin( )
Original: https://blog.csdn.net/qq_51308613/article/details/123743591
Author: Cistanche Herba
Title: 多元统计分析 图标表示法 数据可视化 python 代码实现
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/765780/
转载文章受原作者版权保护。转载请注明原作者出处!