
У меня есть данные на системе Linux, около 44K точек данных, которые я хотел бы построить Scatter plot. График должен быть сохранен, чтобы его можно было отобразить на веб-сайте (JPG?).
Некоторые другие параметры:
Ось X: один день на тик, всего максимум 31 день
Ось Y: целое число от 0 до 100, деления каждые 10
Диаграмма рассеяния… НЕ рисуйте линии между точками.
Каждая точка данных выглядит следующим образом:
10/20/2010 23:45:22,57
Хотелось бы включить метки для осей X, Y
Хотелось бы включить заголовок
Хотелось бы, чтобы дни отображались как 10/20 под каждой точкой X, или просто номер дня
Есть идеи, какие программы мне следует рассмотреть... надеюсь, бесплатные. У меня есть выбор из операционных систем Linux: Centos 5.5, Fedora 13, Suse 11 SP1.
Спасибо за вашу помощь и внимание.
решение1
gnuplotдолжен удовлетворить ваши потребности. Он может отображать различные холсты, такие как PNG и SVG.
решение2
рс превосходным Хэдли Уикхемомggplot2
Библиотека. Встроенная библиотека графиков вполне адекватна, но ggplot2
имеет красивые, разумные настройки по умолчанию.
после установки R для установки ggplot2:install.packages("ggplot2")
Предположим, что ваши данные имеют следующий вид:
date_time,value
10/20/2010 23:45:22,57
10/30/2010 23:45:22,102
Весь ваш скрипт на R будет выглядеть примерно так:
mydata <- read.csv("path/to/csv/data.csv", sep=",",
header = TRUE, stringsAsFactors = FALSE)
mydata$date_time <- as.POSIXct(
strptime(mydata$date_time, "%m/%d/%Y %H:%M:%S")) #turns your dates
#into POSIX time objects
head(mydata) #just see that it looks good
library(ggplot2)
p <- ggplot(mydata, aes(date_time, value)) #make a ggplot2 plot object
p + geom_point() + ylab('Y label goes here') + #add points, ylabel, xlabel and a title
xlab("Date") + opts(title = "Snappy Title goes here")
Вот что я сделал, отвечая на этот квест, используяДанные гидрографа USGS для реки Элва