# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@FileName: 散点图2
@Time: 2021/12/23,17:08
@Motto: go go go
"""
import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
midwest = pd.read_csv(
r"G:\Users\Administrator\Desktop\data.txt") # https://raw.githubusercontent.com/selva86/datasets/master/midwest_filter.csv
print(midwest.head().to_string()) # 加上to_string()参数,完整查看文件前5行,
plt.figure(figsize=(8, 4)) # 图形 长宽
uni = midwest['category'].unique() # 提取category列中唯一值
colors = [plt.cm.tab10(i / float(len(uni) - 1)) for i in range(len(uni))] # 使用列表推导式 得到颜色的列表
print(colors)
for i in range(len(uni)): # 使用循环,一次画一种点
plt.scatter(
midwest.loc[midwest['category'] == uni[i], 'area'], midwest.loc[midwest['category'] == uni[i], 'poptotal'],
# 横坐标为area 纵坐标为population
s=20, # 点大小
# c=np.array(plt.cm.tab10(i / float(len(uni) - 1))).reshape(1,-1) # 第二种生成颜色的方法
color=colors[i],
label=uni[i]) #加标签
plt.gca().set(xlim=(0.0, 0.1), ylim=(0, 90000),
xlabel='Area', ylabel='Population')
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.title("Scatterplot of Midwest Area vs Population", fontsize=22)
plt.legend(fontsize=12)
plt.show()

Figure_2.png
网友评论