散点图对象有一个称为.set_array更新标记的颜色并.set_offsets更新其位置的方法,但如何更新标记大小?
我需要这个来快速实时绘图。
我正在尝试创建一个带有边际直方图的散点图,如这个问题。我的数据是两个(数字)变量,它们共享七个离散(某种程度上)对数间隔的水平。
ggMarginal我已经在包中的帮助下成功完成了此操作ggExtra,但是我对结果不满意,因为当使用与散点图相同的数据绘制边际直方图时,事情并不一致。如下所示,直方图条稍微偏向数据点本身的右侧或左侧。
library(ggMarginal)
library(ggplot2)
x <- rep(log10(c(1,2,3,4,5,6,7)), times=c(3,7,12,18,12,7,3))
y <- rep(log10(c(1,2,3,4,5,6,7)), times=c(3,1,13,28,13,1,3))
d <- data.frame("x" = x,"y" = y)
p1 <- ggMarginal(ggplot(d, aes(x,y)) + geom_point() + theme_bw(), type = "histogram")
Run Code Online (Sandbox Code Playgroud)
一个可能的解决方案是将直方图中使用的变量更改为因子,以便它们与散点图轴很好地对齐。使用以下命令创建直方图时效果很好ggplot:
p2 <- ggplot(data.frame(lapply(d, as.factor)), aes(x = x)) + geom_histogram()
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用 执行此操作时ggMarginal,我没有得到所需的结果 -ggMarginal直方图似乎仍然将我的变量视为数字。
p3 <- ggMarginal(ggplot(d, aes(x,y)) + geom_point() + theme_bw(),
x = as.factor(x), y = as.factor(y), type = "histogram")
Run Code Online (Sandbox Code Playgroud)
如何确保我的直方图条形图位于数据点的中心?
我绝对愿意接受不涉及使用的答案ggMarginal。
我想在散点图上打印相关系数。我怎样才能用ggplot2实现呢?我的代码如下所示
df = read.csv ("/home/miya/Desktop/data.csv")
p <- ggplot(df, aes(male,female,label=names)) + xlim(0,2) + ylim(0,2) + xlab("x axis") +
ylab("y axis") + geom_point(colour = "red", size = 3) + geom_smooth(method=lm, fullrange=TRUE) + geom_text(hjust=-1,vjust=1)
Run Code Online (Sandbox Code Playgroud)
数据.csv
names male female
aa 1.43 1.3
kk 1.24 1.05
cc 1.04 0.94
dd 0.9 1.01
nn 0.93 1.17
mm 1.03 1.22
hh 1.12 1
gg 0.69 0.78
tt 0.92 1.04
Run Code Online (Sandbox Code Playgroud) 我有特征 x1 和 x2 以及类 y 的数据集列,其值为 0 或 1。我想在散点图中绘制 x1 和 x2,使得值 y == 1 将显示为“+”,值 y == 0将显示为“o”。
x1 = np.array(100)
x2 = np.array(100)
#y = array of length 100 either with value 1 or 0
plt.scatter(x1, x2, y=1, marker='+')
plt.scatter(x1, x2, y=0, marker='o')
plt.show()
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
我正在尝试学习 D3,正在看这个例子:
http://bl.ocks.org/weiglemc/6185069
我现在想做的是改变点的形状,所以我想要基于数据集中谷物品牌的圆形、正方形和三角形,而不是所有圆形作为数据点。这看起来应该是一个简单的更改,但当我进行更改时,我无法显示形状。
我知道需要在这一段代码中进行此更改:
svg.selectAll(".dot")
.data(data)
.enter().append("circle")
.attr("class", "dot")
.attr("r", 3.5)
.attr("cx", xMap)
.attr("cy", yMap)
.style("fill", function(d) { return color(cValue(d));})
.on("mouseover", function(d) {
tooltip.transition()
.duration(200)
.style("opacity", .9);
tooltip.html(d["Cereal Name"] + "<br/> (" + xValue(d)
+ ", " + yValue(d) + ")")
.style("left", (d3.event.pageX + 5) + "px")
.style("top", (d3.event.pageY - 28) + "px");
})
.on("mouseout", function(d) {
tooltip.transition()
.duration(500)
.style("opacity", 0);
});
Run Code Online (Sandbox Code Playgroud)
我需要更改圆的附加和属性。我想使用条件所以
.attr("d", function(d,i) {if (d["Cereal Name"] == "Nabisco" return d3.svg.symbol().type("circle");
else if (d["Cereal Name"] == "Post" return …Run Code Online (Sandbox Code Playgroud) 我想创建一个散点图,其中显示在 pandas 中相互映射的两列,第三列用于大小,然后是基于标签的点的颜色(在下面的情况下,last_name)。
然后我想要一个图例,显示颜色的点,然后显示姓氏值
每个姓氏应该与不同的颜色相关联,并且图例显示,例如,绿点和米勒,红点和雅各布森等。
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'],
'female': [0, 1, 1, 0, 1],
'age': [42, 52, 36, 24, 73],
'preTestScore': [4, 24, 31, 2, 3],
'postTestScore': [25, 94, 57, 62, 70]}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'female', 'preTestScore', 'postTestScore'])
plt.scatter(df.preTestScore, df.postTestScore, s=df.age, label=df.last_name)
plt.legend(loc='upper left', prop={'size':6}, bbox_to_anchor=(1,1),ncol=1)
Run Code Online (Sandbox Code Playgroud)
这给了我这样的东西:
我根本不知道如何获取颜色(理想情况下,我喜欢使用调色板)或如何让图例显示姓氏和点
任何帮助将不胜感激..谢谢!
左边两列代表地理结构的坐标XY,左边两列代表“每个”地理单元的大小(南北直径和东西直径)
我想以图形方式表示一个散点图,在其中绘制所有坐标并在每个点上绘制一个椭圆,包括每个地理单位的直径。
我该如何使用 ggplot2 来做到这一点?
您可以在这里下载数据
我需要在散点图上绘制加速度与英里/加仑的两个斜率,一个用于轻型汽车,一个用于重型汽车。我创建了这个:
cars_light <- cars_log[cars_log$log.weight. <= log(mean(cars$weight)), ]
cars_heavy <- cars_log[cars_log$log.weight. > log(mean(cars$weight)),]
cars_log$wt_cat <- ifelse(cars_log$log.weight. > log(mean(cars$weight)), 'heavy', 'light')
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经通过这样做创建了散点图:
plot_ly(
data = cars_log,
type = "scatter",
x = ~log.acceleration.,
y = ~ log.mpg.,
color = ~ factor(wt_cat),
colors = c("#8bc34a", "#ff5722"),
marker = list(size = 10, opacity = 0.6)
) %>%
layout(title = "Heavy cars VS light cars")
Run Code Online (Sandbox Code Playgroud)
这给了我这个结果:
现在,我想为重型汽车创建一个斜坡,为轻型汽车创建另一个斜坡,我知道我需要使用 add_ribbons 轨迹跟踪,但我不知道如何生成它。我在用情节计算 lm 时遇到问题。我可以用 ggplot 做同样的事情,但我不知道如何用plotly 做到这一点。
ggplot(cars_log, aes_string('log.acceleration.', 'log.mpg.')) +
geom_point(aes(color = factor(wt_cat))) +
geom_smooth(method = 'lm', aes(color …Run Code Online (Sandbox Code Playgroud) 我正在绘图中创建一个 3D 散点图,并希望有一个几个句子长的标题(为了描述图形),标题左对齐,不干扰图形本身,并且不被地块面积。
下面的代码在plotly中包含了关于左对齐标题的stackoverflow答案,但是当你有一个需要超过3-4行的长标题时,它没有帮助。
使用 \n 会使标题的文本转到第二行,但它仍然会被绘图区域截断并且不会左对齐。
library(plotly)
metric1 <- c(116,230,120,200,210,188,130,99,101,120)
metric2 <- c(79,109,120,95,130,98,118,130,140,88)
metric3 <- c(30,28,42,22,6,2,17,43,20,28)
class <- c(3,4,2,1,1,4,4,3,2,3)
df <- data.frame(metric1,metric2,metric3,class)
my_colors=c("red", "blue", "green", "#000000")[df$class]
p <- plot_ly(df,
x = ~metric1,
y = ~metric2,
z = ~metric3, text = class, type = "scatter3d",
mode = "markers", marker = list(color = my_colors)) %>%
add_annotations(
x=0, y=1.15,
text="Figure: The title of the figure will explain what information can be gleaned from the figure. Then the next sentence, which is still …Run Code Online (Sandbox Code Playgroud) 我试图在下图中获得正确的图例。它应该只是带有相应颜色的“绿色”、“蓝色”和“红色”。但它无处不在。

代码如下:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
'category':['blue','green','red','blue','green','red','blue','green','red'],
'attempts':[8955,7881,6723,100,200,300,4567,876,54],
'success':[3000,7500,2000, 256,4567,4567,7665,543,43]
})
fig,ax = plt.subplots()
plt.scatter(df['attempts'],df['success'],c=df['category'],label=df['category'])
plt.legend(loc=2)
plt.savefig('scatter.png')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我该如何做对?(这里有一个类似的:https : //pythonspot.com/matplotlib-scatterplot/在第二部分“带组的散点图”中,但这不是基于熊猫数据框)。
scatter-plot ×10
r ×5
ggplot2 ×4
matplotlib ×4
python ×3
pandas ×2
plotly ×2
r-plotly ×2
correlation ×1
d3.js ×1
ellipse ×1
histogram ×1
html ×1
javascript ×1
numpy ×1
plot ×1
scatter3d ×1