【发布时间】:2021-06-06 09:01:36
【问题描述】:
我正在尝试以最简单的方式使用 python 为散点图中的点着色。 X 是一列,y 是另一列,最后一个(比如说 Z)有值(例如 A、B、C)。我想使用 Z 中的值对点 (X, Y) 着色。
我意识到过去有人问过一些类似的问题,但这对我来说并不奏效。可能是因为我不得不强制一切都是浮动的?
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm
import scipy.stats as stats
df = pd.read_csv(r"C:\......combinedsheet2.csv")
df['crowd1'] = pd.to_numeric(df['c1'], errors='coerce')
df['crowd3'] = pd.to_numeric(df['c3'], errors='coerce')
df['dist1'] = pd.to_numeric(df['d1'], errors='coerce')
我不确定为什么这些特定值被读取为浮点数以外的任何值——其他所有值都是,而且我没有使用此命令足以知道它是否会干扰任何未来的数据分析,并且可能是在尝试进行混合模型分析等时遇到了一些麻烦。
我使用的情节:
df.plot(x="c1", y="d1", c="black", kind="scatter")
ax = plt.gca()
ax.set_ylim([0, 610])
ax.set_xlim([0, 30])
为了将我的所有数据绘制在一起,我使用:
df.plot(x=["c1", "c2", "c3", "c4"], y=["d1", "d2", "d3", "d4"], c="black", kind="scatter")
ax = plt.gca()
ax.set_ylim([0, 450])
ax.set_xlim([0, 20])
这是我的 csv 文件内容,在某些情况下会减去几个小数点(前 3 行):
| bwc | c1 | d1 | dbz | c2 | d2 | lmr | c3 | d3 | tti | c4 | d4 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| A | 12 | 67.00 | F | 20.0 | 454.2 | I | 4 | 405.4 | L | 14.0 | 137.9 |
| B | 8 | 122.0 | G | 20.0 | 265.0 | J | 3 | 490 | M | 0.0 | 144.9 |
| A | 0 | 217.0 | F | 15.0 | 235.0 | I | 0 | 62.80 | N | 11.0 | 418.7 |
我希望在每种情况下都能将每个不同的点(A、B、C 等)视为不同的颜色。谢谢!
【问题讨论】:
标签: python pandas dataframe numpy matplotlib