标签: plot

如何将2个图(ggplot)组合成一个图?

通过使用R,是否可以将2 ggplot放在一起(即,在同一图上)?我希望显示来自2个不同的数据帧趋势,而不是把他们一个挨着另一个,我想他们在一个情节集成在一起,只改变其中一个颜色(黑点).

更具体地说,我有以下2个视觉效果:

ggplot(visual1, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth(fill="blue", colour="darkblue", size=1)
Run Code Online (Sandbox Code Playgroud)

ggplot(visual2, aes(ISSUE_DATE,COUNTED)) + geom_point() + geom_smooth(fill="red", colour="red", size=1)
Run Code Online (Sandbox Code Playgroud)

他们看起来像这样(两个都有黑点,我需要将其中一个更改为不同的东西):

在此输入图像描述

在此输入图像描述

plot visualization r graph ggplot2

46
推荐指数
3
解决办法
12万
查看次数

在R中绘制3D数据

我有一个3D数据集:

data = data.frame(
    x = rep( c(0.1, 0.2, 0.3, 0.4, 0.5), each=5),
    y = rep( c(1, 2, 3, 4, 5), 5)
)

data$z = runif(
    25,
    min = (data$x*data$y - 0.1 * (data$x*data$y)),
    max = (data$x*data$y + 0.1 * (data$x*data$y))
)

data
str(data)
Run Code Online (Sandbox Code Playgroud)

我想绘制它,但R alwyas的内置函数给出了错误

增加'x'和'y'值预期

# ### 3D Plots ######################################################
# built-in function always give the error
#    "increasing 'x' and 'y' values expected"
demo(image)
image(x = data$x, y = data$y, z = data$z)

demo(persp)
persp(data$x,data$y,data$z)

contour(data$x,data$y,data$z)
Run Code Online (Sandbox Code Playgroud)

当我在互联网上搜索时,我发现当X和Y值的组合不唯一时会发生此消息.但在这里他们是独一无二的 …

3d plot r

45
推荐指数
4
解决办法
13万
查看次数

根据值的向量,绘图中的颜色点不同

我正在使用R的绘图功能绘制下面的图.它是时间偏移的矢量'shiftTime'的图.我有另一个强度值的矢量'强度',范围从~3到~9.我想基于具有颜色渐变的那些值在绘图中为我的点着色.我可以在实际绘制点的值上找到颜色的示例,因此在这种情况下,矢量'shiftTime'的值.是否也可以使用不同的向量,只要相应的值在同一个索引上?

我的情节

plot gradient r colors

45
推荐指数
3
解决办法
9万
查看次数

在ggplot中创建多列图例

我有以下脚本,它假设创建一个包含两个列图例的图.

 #!/usr/bin/Rscript
library(ggplot2)
library(plyr)
library(reshape2)
library(scales)

file <- "http://dpaste.com/1354089/plain/";
dat <-read.table(file,header=TRUE);
datm <- melt(dat)

# Plot them
ggplot(datm,aes(x = variable,y = value,fill = Term)) +
geom_bar(position = "fill") +
scale_y_continuous(labels = percent_format())+
theme(legend.direction ="vertical",legend.position = "bottom")+

guides(color=guide_legend(ncol=2))+ # this doesn't seem to work

ggsave(file="~/Desktop/test.pdf",width=11,height=11)
Run Code Online (Sandbox Code Playgroud)

但它创造了这个数字 在此输入图像描述

我该怎么做才能正确?

plot r ggplot2

45
推荐指数
1
解决办法
3万
查看次数

在matplotlib中的子图中嵌入小图

如果你想在较大的一个中插入一个小图,你可以使用Axes,就像这里一样.

问题是我不知道如何在子图中做同样的事情.

我有几个子图,我想在每个子图中绘制一个小图.示例代码将是这样的:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()

for i in range(4):
    ax = fig.add_subplot(2,2,i)
    ax.plot(np.arange(11),np.arange(11),'b')

    #b = ax.axes([0.7,0.7,0.2,0.2]) 
    #it gives an error, AxesSubplot is not callable

    #b = plt.axes([0.7,0.7,0.2,0.2])
    #plt.plot(np.arange(3),np.arange(3)+11,'g')
    #it plots the small plot in the selected position of the whole figure, not inside the subplot
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

提前致谢!

plot axes embedding matplotlib subplot

44
推荐指数
4
解决办法
4万
查看次数

Matplotlib:用不同的颜色绘制许多断开的线段

我有一组这样的数据记录:

(s1, t1), (u1, v1), color1
(s2, t2), (u2, v2), color2
.
.
.
(sN, tN), (uN, vN), colorN
Run Code Online (Sandbox Code Playgroud)

在任何记录中,前两个值是线段的终点,第三个值是该线段的颜色.更具体地说,(sn, tn)第一个端点(un, vn)的xy坐标是第二个端点的xy坐标.此外,颜色是具有alpha值的rgb.

通常,任何两个线段都是断开的(意味着它们的端点不一定重合).

如何使用matplotlib使用单个plot调用(或尽可能少)来绘制此数据,因为可能存在数千条记录.

尝试

在一个大列表中准备数据并对其进行调用plot太慢了.例如,以下代码无法在合理的时间内完成:

import numpy as np
import matplotlib.pyplot as plt

data = []
for _ in xrange(60000):
    data.append((np.random.rand(), np.random.rand()))
    data.append((np.random.rand(), np.random.rand()))
    data.append('r')

print 'now plotting...' # from now on, takes too long
plt.plot(*data)
print 'done'
#plt.show()
Run Code Online (Sandbox Code Playgroud)

我能够使用None …

python plot matplotlib line

44
推荐指数
3
解决办法
5万
查看次数

使用pandas数据帧绘制多行

我有一个如下所示的数据框

   color  x   y
0    red  0   0
1    red  1   1
2    red  2   2
3    red  3   3
4    red  4   4
5    red  5   5
6    red  6   6
7    red  7   7
8    red  8   8
9    red  9   9
10  blue  0   0
11  blue  1   1
12  blue  2   4
13  blue  3   9
14  blue  4  16
15  blue  5  25
16  blue  6  36
17  blue  7  49
18  blue  8  64 …
Run Code Online (Sandbox Code Playgroud)

python plot pandas

44
推荐指数
3
解决办法
7万
查看次数

使用x轴上的日期标签绘制时间序列

我知道这个问题可能是陈词滥调,但我很难做到这一点.

我的数据集采用以下格式:

    Date            Visits

    11/1/2010       696537
    11/2/2010       718748
    11/3/2010       799355
    11/4/2010       805800
    11/5/2010       701262
    11/6/2010       531579
    11/7/2010       690068
    11/8/2010       756947
    11/9/2010       718757
    11/10/2010      701768
    11/11/2010      820113
    11/12/2010      645259

我想创建一个时间序列图,x轴代表时间和y轴vists.另外,我想用日期标记x轴.我使用的代码如下:

dm$newday = as.POSIXct(strptime(dm$Day, format="%Y-%m-%d"))
plot(as.Date(dm$day),dm$visits)
axis.Date(1,Day,at=seq(as.Date("2010/10/30"), as.Date("2011/01/29"),by="days"))
Run Code Online (Sandbox Code Playgroud)

plot r

43
推荐指数
3
解决办法
21万
查看次数

在r中的ggplot的绘图区域内添加表格

我想在ggplot中添加一个突出显示的站点坐标表.

使用上一个问题作为示例数据:

set.seed(1)
mydata <- data.frame(a=1:50, b=rnorm(50))
ggplot(mydata,aes(x=a,y=b)) + 
    geom_point(colour="blue") + 
    geom_point(data=mydata[10:13, ], aes(x=a, y=b), colour="red", size=5)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想将下表添加到绘图区域内绘图的右下角.有什么建议?

table<-cbind(sites=c("site 1","site 2","site 3","site 4"),mydata[10:13,])
table

    sites  a          b
    site 1 10 -0.3053884
    site 2 11  1.5117812
    site 3 12  0.3898432
    site 4 13 -0.6212406
Run Code Online (Sandbox Code Playgroud)

plot r ggplot2

43
推荐指数
3
解决办法
3万
查看次数

如何在python中绘制时间序列

我一直试图从CSV文件中绘制时间序列图.我已经设法读取文件并使用字符串将数据从字符串转换为日期strptime.当我尝试使用包含日期信息的列表在matplotlib中绘制测试图时,它将日期绘制为一系列点; 也就是说,对于2012年5月31日19:00的日期,我在y轴上获得了2012,05,19,31,00处的点的图,其中x = 1的值等等.我知道这不是传递绘图日期信息的正确方法.有人能告诉我如何正确传递这些信息.

python plot matplotlib

43
推荐指数
2
解决办法
14万
查看次数

标签 统计

plot ×10

r ×6

ggplot2 ×3

matplotlib ×3

python ×3

3d ×1

axes ×1

colors ×1

embedding ×1

gradient ×1

graph ×1

line ×1

pandas ×1

subplot ×1

visualization ×1