标签: plot

如何在Python中制作3D散点图?

我目前有一个nx3矩阵阵列.我想将三列绘制为三个轴.我怎样才能做到这一点?

我用google搜索,人们建议使用Matlab,但我真的很难理解它.我还需要它是散点图.

有人可以教我吗?

python 3d plot matplotlib scatter-plot

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

将图存储在对象中

ggplot2,可以轻松地将图形保存到R对象中.

p = ggplot(...) + geom_point()      # does not display the graph
p                                   # displays the graph
Run Code Online (Sandbox Code Playgroud)

标准函数plot将图形作为void函数生成并返回NULL.

p = plot(1:10)     # displays the graph
p                  # NULL
Run Code Online (Sandbox Code Playgroud)

是否可以保存plot在对象中创建的图形?

plot r

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

Matplotlib在Mac OSX中没有出现?

我正在运行Mac OSX 10.5.8.我使用macports安装了matplotlib.我从matplotlib库中得到了一些像这样的例子,没有修改:

http://matplotlib.sourceforge.net/examples/api/unicode_minus.html

我运行它,没有错误,但图片没有出现.在Linux Ubuntu中我得到它.

你知道这里有什么不对吗?

谢谢

python macos plot matplotlib

70
推荐指数
5
解决办法
6万
查看次数

绘图窗口无响应

我正在使用Windows 7 64位.每次,我都在使用绘图功能,绘图窗口会成功显示和绘制,但之后它会停止响应并且必须关闭它.

例如 :

x = linspace(0,1,10)
y = x.^2
plot(x,y);
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当情节窗口冻结并且我必须关闭八度窗口时,它们也会没有响应.如果我不使用绘图功能,这将不会发生.

我不知道为什么.是因为我使用的是64位版本吗?请告诉我如何解决这个问题.

plot octave hang

70
推荐指数
5
解决办法
8万
查看次数

在R图窗口中组合基础和ggplot图形

我想生成一个具有base和ggplot图形组合的图形.以下代码使用R的基本绘图函数显示我的图:

t <- c(1:(24*14)) 
P <- 24 
A <- 10 
y <- A*sin(2*pi*t/P)+20

par(mfrow=c(2,2))
plot(y,type = "l",xlab = "Time (hours)",ylab = "Amplitude",main = "Time series")
acf(y,main = "Autocorrelation",xlab = "Lag (hours)", ylab = "ACF")
spectrum(y,method = "ar",main = "Spectral density function", 
         xlab = "Frequency (cycles per hour)",ylab = "Spectrum")
require(biwavelet)
t1 <- cbind(t, y)
wt.t1=wt(t1)
plot(wt.t1, plot.cb=FALSE, plot.phase=FALSE,main = "Continuous wavelet transform",
     ylab = "Period (hours)",xlab = "Time (hours)")
Run Code Online (Sandbox Code Playgroud)

哪个生成 在此输入图像描述

这些面板中的大多数看起来足以让我包含在我的报告中.但是,需要改进显示自相关的图.使用ggplot看起来好多了:

require(ggplot2)
acz <- acf(y, plot=F)
acd <- data.frame(lag=acz$lag, acf=acz$acf) …
Run Code Online (Sandbox Code Playgroud)

plot r base ggplot2 biwavelet

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

如何在R中绘制数据帧的所有列

数据框有n列,我想得到n个图,每列一个图.

我是新手,我不会说R,无论如何我找到了两个解决方案.

第一个工作,但它不打印列名称(我需要它们!):

data <- read.csv("sample.csv",header=T,sep=",")
for ( c in data ) plot( c, type="l" )
Run Code Online (Sandbox Code Playgroud)

第二个更好用,因为它打印列名:

data <- read.csv("sample.csv",header=T,sep=",")
for ( i in seq(1,length( data ),1) ) plot(data[,i],ylab=names(data[i]),type="l")
Run Code Online (Sandbox Code Playgroud)

是否有更好的(从R语言的角度来看)解决方案?

plot r dataframe

68
推荐指数
7
解决办法
15万
查看次数

在不影响绘图的情况下控制ggplot2图例

我正在用ggplot2绘制线条,如下所示:

ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + theme_bw()
Run Code Online (Sandbox Code Playgroud)

目前的情节.

我发现传奇标记很小,所以我希望它们更大.如果我改变大小,情节上的线条也会改变:

ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line(size=4) + theme_bw()
Run Code Online (Sandbox Code Playgroud)

厚厚的情节线条.

但是我只想在图例中看到粗线,我希望图上的线条很薄.我尝试使用,legend.key.size但它改变了标记的正方形,而不是线条的宽度:

library(grid)  # for unit
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw() + theme(legend.key.size=unit(1,"cm"))
Run Code Online (Sandbox Code Playgroud)

大传奇钥匙

我也尝试过使用积分:

ggplot(iris,aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + geom_point(size=4) + theme_bw()
Run Code Online (Sandbox Code Playgroud)

但当然它仍会影响情节和传奇:

点

我想使用线条和图例的点/点.

所以我要问两件事:

  1. 如何在不改变图的情况下改变图例中的线宽?
  2. 如何在绘图中绘制线条,但在图例中绘制点/点/方块?

plot r legend ggplot2

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

从Python的熊猫数据帧中制作matplotlib散点图

使用Python中matplotlibpandas数据框制作一系列散点图的最佳方法是什么?

例如,如果我有一个df感兴趣的列的数据框,我发现自己通常将所有内容转换为数组:

import matplotlib.pylab as plt
# df is a DataFrame: fetch col1 and col2 
# and drop na rows if any of the columns are NA
mydata = df[["col1", "col2"]].dropna(how="any")
# Now plot with matplotlib
vals = mydata.values
plt.scatter(vals[:, 0], vals[:, 1])
Run Code Online (Sandbox Code Playgroud)

在绘图之前将所有内容转换为数组的问题在于它会迫使您突破数据帧.

考虑这两个用例,其中具有完整的数据帧对于绘图是必不可少的:

  1. 例如,如果您现在想要查看在col3调用中绘制的相应值的所有值,并使用该值为scatter每个点(或大小)着色,该怎么办?你必须回去,拿出非na值col1,col2并检查它们的相应值.

    有没有办法在保留数据帧的同时进行绘图?例如:

    mydata = df.dropna(how="any", subset=["col1", "col2"])
    # plot a scatter of col1 by col2, with sizes according to col3
    scatter(mydata(["col1", "col2"]), s=mydata["col3"]) …
    Run Code Online (Sandbox Code Playgroud)

python plot matplotlib dataframe pandas

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

在一个图中绘制多个箱图

我将数据保存为.csv12列的文件.第2至11列(标记为F1, F2, ..., F11)features.Column one包含或label这些功能.goodbad

我想绘制boxplot所有这些功能11label,而是通过单独goodbad.到目前为止我的代码是:

qplot(Label, F1, data=testData, geom = "boxplot", fill=Label, 
          binwidth=0.5, main="Test") + xlab("Label") + ylab("Features")
Run Code Online (Sandbox Code Playgroud)

然而,这只能说明F1反对label.

我的问题是:如何显示F2, F3, ..., F11label在一个图表一些dodge position?我已将这些特征标准化,因此它们在[0 1]范围内具有相同的比例.

测试数据可以在这里找到.我手工绘制了一些东西来解释这个问题(见下文).

手绘boxplot示例

plot r ggplot2 boxplot

67
推荐指数
6
解决办法
25万
查看次数

是否有适用于C++的"开箱即用"2D/3D绘图库?

我查看了在交互式窗口中绘制函数(或其他类型的图形)的不同选项.我主要使用wxWidgets,但我会对任何其他"接口"开放.

看看有什么可用,这是我发现的:

wxPlot:自2006年以来没有更新.但如果它是......那将是一个很好的候选人.

wxMathPlot:很新,不成熟,功能很少(仍然有效?)

libgraph:过时,不反弹,仅2D,仅输出图像.

koolplot:太基本了,无法控制创建的窗口.

EasyBMP:非常基本,只有图像输出.

plotutils:仅限命令行.

plplot:C和C++ API几乎没有维护.事实上,wxPlot就是基于此.如果我们更新了C和C++接口,也可能成为候选者.

任何意见?想法?

谢谢!

c++ plot wxwidgets graph

65
推荐指数
7
解决办法
10万
查看次数

标签 统计

plot ×10

r ×5

ggplot2 ×3

matplotlib ×3

python ×3

dataframe ×2

3d ×1

base ×1

biwavelet ×1

boxplot ×1

c++ ×1

graph ×1

hang ×1

legend ×1

macos ×1

octave ×1

pandas ×1

scatter-plot ×1

wxwidgets ×1