matplotlib绘制散点图之基本配置——万能模板案例(二)

简介: matplotlib绘制散点图之基本配置——万能模板案例

散点图万能模板

# 读取数据
df = pd.read_csv('iris.csv')
def get_xycs(df):
    # 平面坐标系的位置只能表示2维数据
    x = df['sepal_length']  # x 轴坐标
    y = df['sepal_width']   # y 轴坐标
    c = df['petal_length']  # 颜色color
    s = df['petal_width']   # 大小size
    return x,y,c,s
markers = {'setosa':'o', 'versicolor':'D', 'virginica':'*'}
# 根据X,Y值画散点图, 用颜色的深浅表示花萼的长度,用大小表示花萼的宽度, 每组数据只能是一种点样式
plt.figure(figsize=(5,5),dpi=100)
#plt.scatter(x,y, c=c, s=50)  # 可以是标量,那么所有的点都一样
for sp in df['species'].unique():
    x,y,c,s = get_xycs(df[df['species']==sp])
    plt.scatter(x,y, s=s*30, cmap=plt.cm.seismic, marker=markers[sp],label=sp)
plt.legend()


image.png


其他模板

### 在二维坐标系上,位置表示(x,y)二维数据
x = df.sepal_length  # x 表示花瓣长
y = df.sepal_width   # y 表示花瓣宽
s = (df.petal_length * df.petal_width)*np.pi   # s(size) 表示花萼面积
c = (df.petal_length * df.petal_width)*np.pi  
plt.scatter(x,y,s=s*5, c=c,cmap=plt.cm.RdYlBu_r)
plt.xlabel('sepal_length')
plt.ylabel('sepal_width')


image.png


# 在二维坐标系上,位置表示(x,y)二维数据
x = df.sepal_length  # x 表示花瓣长
y = df.sepal_width   # y 表示花瓣宽
s = (df.petal_length * df.petal_width)*np.pi   # s(size) 表示花萼面积
#print(df.species)
#colormap = {"setosa":"#FF0000", "versicolor":"green", "virginica":"b"}  # 定义一个字典将species字符串映射到颜色字符串上
colormap = {"setosa":1, "versicolor":5, "virginica":6}  # 定义一个字典将species字符串映射到颜色字符串上
c = df.species.map(colormap)
#print(c)
plt.scatter(x,y,s=s*5, c=c,cmap=plt.cm.coolwarm, alpha=0.7, edgecolors='face')
plt.xlabel('sepal_length')
plt.ylabel('sepal_width')




image.png



plt.scatter(df['burglary'], df['larceny_theft'],
            s=df['population']*2e-5, 
            c=df['motor_vehicle_theft'], cmap=plt.cm.coolwarm, 
            edgecolors='b', 
            alpha=0.75)
for idx,statename in df['state'].items():
    plt.text(x=df['burglary'][idx],y=df['larceny_theft'][idx]-df['population'][idx]*2e-5*0.5,s=statename,fontsize=6,ha='center',va='top')



image.png


df.plot.scatter(x='burglary',y='larceny_theft',c='motor_vehicle_theft',cmap=plt.cm.coolwarm,s=df['population']*2e-5)
for i in df.index:
    if i in top5_motor_theft_index:  # 偷车贼最多的5个州
        plt.text(df.loc[i,'burglary']+10, df.loc[i,'larceny_theft']-10, df.loc[i,'state'], color='red')  # 一个文本框

image.png

相关文章
|
7月前
|
Python
使用Matplotlib创建不同类型图表的案例
使用Matplotlib创建不同类型图表的案例
39 2
|
6月前
|
Python
Python使用Matplotlib创建不同类型图表的案例
使用Matplotlib创建不同类型图表的案例
|
6月前
|
数据可视化 Python
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
【100天精通Python】Day62:Python可视化_Matplotlib绘图基础,绘制折线图、散点图、柱状图、直方图和饼图,以及自定义图标外观和功能,示例+代码
117 0
|
9天前
|
数据可视化 搜索推荐 数据处理
Matplotlib在数据科学中的应用与案例分析
【4月更文挑战第17天】本文探讨了Matplotlib在数据科学中的应用,强调其作为Python中最常用的可视化库,提供多种图表类型、高度可定制性、交互式功能及与其他库的集成。通过一个案例分析展示了如何使用Matplotlib绘制城市人口分布的条形图,并添加交互式元素以增强数据探索。掌握Matplotlib能提升数据科学家的可视化能力和效率。
|
9天前
|
数据可视化 数据挖掘 Python
Matplotlib图表类型详解:折线图、柱状图与散点图
【4月更文挑战第17天】本文介绍了Python数据可视化库Matplotlib的三种主要图表类型:折线图、柱状图和散点图。折线图用于显示数据随时间或连续变量的变化趋势,适合多条曲线对比;柱状图适用于展示分类数据的数值大小和比较;散点图则用于揭示两个变量之间的关系和模式。通过示例代码展示了如何使用Matplotlib创建这些图表。
|
5月前
|
数据挖掘 Python
【Python】数据分析:matplotlib散点图
【Python】数据分析:matplotlib散点图
50 0
|
4月前
|
Python
又再肝3天,整理了65个Matplotlib案例,这能不收藏?
又再肝3天,整理了65个Matplotlib案例,这能不收藏?
|
数据可视化 Python
可视化库Matplotlib-条形图与散点图
可视化库Matplotlib-条形图与散点图
可视化库Matplotlib-条形图与散点图
|
开发者 Python
matplotlib画折线图、直方图、饼图、散点图等常见图形
matplotlib画折线图、直方图、饼图、散点图等常见图形
206 0
matplotlib画折线图、直方图、饼图、散点图等常见图形