有谁知道如何将matplotlib图保存为*.tiff?似乎Python不支持这种格式,而期刊经常要求这种格式.
我正在添加一些最小的代码:
# -*- coding: utf-8 -*-
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
# fig setup
fig = plt.figure(figsize=(5,5), dpi=300)
ax = fig.gca(projection='3d')
ax.set_xlim([-1,1])
ax.set_ylim([-1,1])
ax.set_zlim([-1,1])
ax.axes.xaxis.set_ticklabels([])
ax.axes.yaxis.set_ticklabels([])
ax.axes.zaxis.set_ticklabels([])
# draw a surface
xx, yy = np.meshgrid(range(-1,2), range(-1,2))
zz = np.zeros(shape=(3,3))
ax.plot_surface(xx, yy, zz, color='#c8c8c8', alpha=0.3)
ax.plot_surface(xx, zz, yy, color='#b6b6ff', alpha=0.2)
# draw a point
ax.scatter([0],[0],[0], color='b', s=200)
Run Code Online (Sandbox Code Playgroud)
这有效:
fig.savefig('3dPlot.pdf')
Run Code Online (Sandbox Code Playgroud)
但这不是:
fig.savefig('3dPlot.tif')
Run Code Online (Sandbox Code Playgroud) 我试图在R中引导一个简单的多项式回归,我收到一个错误:
is.data.frame(data)出错:找不到对象'd'
真正奇怪的是我在Quick-R的启动包教程中使用相同的代码(调整到这个特定的问题),并且当我使用不同的函数(如lm())时,相同的代码也有效.当然,我做了一些愚蠢的事情,但我看不出是什么.如果有人可以提供帮助,我会非常感激.
这是一个例子:
require(foreign)
require(nnet)
require(boot)
# an example for multinomial logistic regression
ml = read.dta('http://www.ats.ucla.edu/stat/data/hsbdemo.dta')
ml = ml[,c(5,7,3)]
bs <- function(formula, data, indices) {
d = data[indices,] # allows boot to select sample
fit = multinom(formula, data=d)
s = summary(fit)
return(list(fit$coefficients, fit$standard.errors))
}
# 5 replications
results = list()
results <- boot(
data=ml, statistic=bs, R=5, parallel='multicore',
formula=prog~write
)
Run Code Online (Sandbox Code Playgroud) 在这篇文章中,他们讨论了如何在 R 中对单因子变量进行单热编码。我想知道如何扭转问题并从对某些属性进行单热编码的变量中获取单因子?
我试图将观察到的值绘制为与预期值相对的点,如下所示:
d <- data.frame(
ranks = 1:9,
observed = c(0.736, 0.121, 0.067, 0.034, 0.026, 0.015, 0.001, 0.001, 0.000),
expected = c(0.735, 0.136, 0.051, 0.025, 0.015, 0.009, 0.006, 0.005, 0.003)
)
ggplot(d, aes(x=ranks, y=observed)) +
geom_point(size=2.2) +
geom_line(aes(x=ranks, y=expected), size=0.8, colour='red')
Run Code Online (Sandbox Code Playgroud)
这是正确的,但我更希望线条很好地平滑(没有肘部)。使用geom_smooth()withloess或gam并没有真正帮助,因为两者都过度平滑(以不同的方式)。有什么建议吗?
更新:如果这很有用,以下是我生成预期值的方式:
# BACIS POWER FUNCTION:
fPow <- function(x, a, b) {a * x^b}
# INITIALIZE PARAMETERS:
est1 <- coef(nls(observed ~ fPow(ranks, a, b),
start=c(a=1, b=1), data=d))
# FITTING:
nlfit1 <- nls(observed ~ …Run Code Online (Sandbox Code Playgroud) 如何使用元组或列表对dict键进行排序而不是返回值?例如,我有一个词典:
d = {'a' : 1, 'b' : 3, 'c' : 5, d : '7'}
Run Code Online (Sandbox Code Playgroud)
和一个元组:
t = ('d', 'b', 'c', 'a')
Run Code Online (Sandbox Code Playgroud)
我想得到一个值列表,如:
[7, 3, 5, 1]
Run Code Online (Sandbox Code Playgroud)
非常感谢!
我试图谨慎而透彻地阅读网上的各种内容,以了解如何在R Markdown中格式化数字。它们已正确绘制,但似乎无法控制它们的大小。
首先,有一些基本知识,例如:
```{r Fig1, echo=FALSE, fig.height=5, fig.width=15}
x1 = rnorm(100)
x2 = runif(100)
x3 = rbeta(100, 1, 1,)
par(mfrow=c(1,3), mar=c(4,4,4,1), oma=c(0.5,0.5,0.5,0))
qqnorm(x1)
qqnorm(x2)
qqnorm(x3)
```
Run Code Online (Sandbox Code Playgroud)
然后,我尝试使用:
```{r Fig1b, echo=FALSE, fig.height=5, fig.width=15, out.retina=1}
```
Run Code Online (Sandbox Code Playgroud)
而且,如果我尝试匹配另一个简单图形的大小,差异是显而易见的。例如:
```{r Fig2, echo=FALSE, fig.height=5, fig.width=5, retina=1}
par(mfrow=c(1,1), mar=c(4,4,4,1), oma=c(0.5,0.5,0.5,0))
qqnorm(x1)
```
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做-即如何使所有数字大小相等?特别是,如果像图1和图1b这样的图形缩小了,如何调整如图2所示的简单图形的大小?
谢谢!
如何从以下数据帧生成交叉表:
import pandas as pd
dat = pd.read_csv('data.txt', sep=',')
dat.head(6)
Factor1 Factor2
0 A X
1 B X
2 A X|Y
3 B X|Y
4 A X|Y|Z
5 B X|Y|Z
dat[['Factor2']] = dat[['Factor2']].applymap(lambda x : x.split('|'))
dat.head(6)
Factor1 Factor2
0 A [X]
1 B [X]
2 A [X, Y]
3 B [X, Y]
4 A [X, Y, Z]
5 B [X, Y, Z]
Run Code Online (Sandbox Code Playgroud)
结果pd.crosstab()应该是这样的:
X Y Z
A 3 2 1
B 3 2 1
Run Code Online (Sandbox Code Playgroud) r ×4
python ×3
crosstab ×1
dictionary ×1
figure ×1
ggplot2 ×1
list ×1
matplotlib ×1
pandas ×1
r-markdown ×1
tiff ×1
tuples ×1