我正在使用澳大利亚艾滋病生存数据。这次要创建散点图。
为了显示不同报告传播类别(T.categ)的存活率,我以这种方式绘制图表:
data <- read.csv("https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/MASS/Aids2.csv")
data %>%
ggplot() +
geom_jitter(aes(T.categ, sex, colour = status))
Run Code Online (Sandbox Code Playgroud)
它显示了一个图表。但是每次运行代码时,它似乎都会生成不同的图表。这是其中的 2 个组合。
代码有什么问题吗?是否正常(每个运行不同的图表)?
使用 Seaborn 散点图,如何将标记设置为空心圆而不是实心圆?
这是一个简单的例子:
import pandas as pd
import seaborn as sns
df = pd.DataFrame(
{'x': [3,2,5,1,1,0],
'y': [1,1,2,3,0,2],
'cat': ['a','a','a','b','b','b']}
)
sns.scatterplot(data=df, x='x', y='y', hue='cat')
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方法但没有成功;其中大多数不会抛出错误,而是产生与上面相同的图。我认为这些不起作用,因为颜色是用hue参数设置的,但我不确定修复是什么。
sns.scatterplot(data=df, x='x', y='y', hue='cat', facecolors = 'none')
sns.scatterplot(data=df, x='x', y='y', hue='cat', facecolors = None)
sns.scatterplot(data=df, x='x', y='y', hue='cat', markerfacecolor = 'none')
sns.scatterplot(data=df, x='x', y='y', hue='cat', markerfacecolor = None)
with sns.plotting_context(rc={"markerfacecolor": None}):
sns.scatterplot(data=df, x='x', y='y', hue='cat')
Run Code Online (Sandbox Code Playgroud) 我试图通过将我拥有的数据分为两个子集,将两条不同的回归线(公式:工资= beta0 + beta1 D3 + beta2支出+ beta3 *(支出* D3)+ w)绘制成一个散点图下面的代码:
salary = data$salary
spending = data$spending
D1 = data$North
D2 = data$South
D3 = data$West
subsetWest = subset(data, D3 == 1)
subsetRest = subset(data, D3 == 0)
abab = lm(salary ~ 1 + spending + 1*spending, data=subsetWest) #red line
caca = lm(salary ~ 0 + spending + 0*spending, data=subsetRest) #blue line
plot(spending,salary)
points(subsetWest$spending, subsetWest$salary, pch=25, col = "red")
points(subsetRest$spending, subsetRest$salary, pch=10, col = "blue")
abline(abab, col = "red") …Run Code Online (Sandbox Code Playgroud) 我正在使用Python和CSV文件.我目前正在尝试修改下面的散点图(2d),以根据我的csv文件中的第三列更改颜色.在搜索多个帖子之后,我基本上想要使用通用色图(彩虹)并将第三个数组乘以色彩图,以便为每个xy点显示不同的颜色.我想我可以从ax.scatter函数中做所有事情,但我不知道如何将每个不同的x,y坐标乘以色图和第三个数组.它应该看起来类似于等高线图,但我更喜欢不同颜色的散点图.
这是我正在使用的代码:
import matplotlib
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import matplotlib.mlab as mlab
import numpy as np
r = mlab.csv2rec('test.csv')
fig = Figure(figsize=(6,6))
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.set_title("X vs Y AVG",fontsize=14)
ax.set_xlabel("XAVG",fontsize=12)
ax.set_ylabel("YAVG",fontsize=12)
ax.grid(True,linestyle='-',color='0.75')
x = r.xavg #first column
y = r.yavg #second column
z = r.wtr #third column
ax.scatter(x,y,s=.2,c='b', marker = ',', cmap = ?);
Run Code Online (Sandbox Code Playgroud) 我想用ggplot2生成一个散点图,它包含所有数据点的回归线(无论它们来自哪个组),但同时通过分组变量改变标记的形状.下面的代码生成组标记,但提出了两个回归线,每组一个.
#model=lm(df, ParamY~ParamX)
p1<-ggplot(df,aes(x=ParamX,y=ParamY,shape=group)) + geom_point() + stat_smooth(method=lm)
Run Code Online (Sandbox Code Playgroud)
我该怎么编程呢?
我需要绘制几个定义为的数据点
c(x,y,stdev_x,stdev_y)
作为具有95%置信限的表示的散点图,示例显示了点和围绕它的一个轮廓.理想情况下,我想在点周围绘制椭圆形,但不知道该怎么做.我正在考虑构建样本并绘制它们,添加stat_density2d()但是需要将轮廓数量限制为1,并且无法弄清楚如何去做.
require(ggplot2)
n=10000
d <- data.frame(id=rep("A", n),
se=rnorm(n, 0.18,0.02),
sp=rnorm(n, 0.79,0.06) )
g <- ggplot (d, aes(se,sp)) +
scale_x_continuous(limits=c(0,1))+
scale_y_continuous(limits=c(0,1)) +
theme(aspect.ratio=0.6)
g + geom_point(alpha=I(1/50)) +
stat_density2d()
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种为熊猫设置标题的方法scatter matrix:
from pandas.tools.plotting import scatter_matrix
scatter_matrix(data, alpha=0.5,diagonal='kde')
Run Code Online (Sandbox Code Playgroud)
我试过plt.title('scatter-matrix')但它创造了一个新的数字.
任何帮助表示赞赏.
我有以下 Pandas 数据框,其中 a 列代表一个虚拟变量:

我想要做的是在cmap='jet'column 的值之后给我的标记一个颜色b,除非column 中的值a等于 1 - 在这种情况下,我希望它是灰色。
知道我该怎么做吗?
我目前正在根据两列数据绘制散点图.但是,我想基于第三列中的类标签为数据点着色.
我的第三列中的标签是1,2或3.我如何根据第三列中的值为散点图颜色着色?
plt.scatter(waterUsage['duration'],waterUsage['water_amount'])
plt.xlabel('Duration (seconds)')
plt.ylabel('Water (gallons)')
Run Code Online (Sandbox Code Playgroud) 我用 ggplot2 制作了散点图,并将二进制变量映射到点大小。结果令人满意,但我收到警告“不建议使用离散变量的大小”。
据我所知,使用大小来映射具有多个级别的非序数分类变量可能不如使用点形状或不同颜色清晰。然而,我想知道这个警告是否是为了警告我们有更严重的事情。
是否有比使用 aes(size=...) 更明智的方法来根据二进制或分类变量更改点大小?
警告“不建议使用离散变量的大小”只是一个设计技巧吗?
如果我的结果看起来不错,那么下次我想要在相似数据上使用相同类型的图形时,我是否应该担心该警告?
scatter-plot ×10
python ×5
r ×5
ggplot2 ×4
matplotlib ×3
pandas ×2
regression ×2
aesthetics ×1
csv ×1
numpy ×1
plot ×1
seaborn ×1
title ×1