שְׁאֵלָה:
מהי הדרך הקלה ביותר ליצור עלילות באיכות פרסום תחת לינוקס?
Łukasz Lew
2010-07-20 14:38:45 UTC
view on stackexchange narkive permalink

אנו יכולים להניח שיש לנו קובץ CSV ואנחנו רוצים עלילת קו בסיסית מאוד עם מספר שורות בעלילה אחת ואגדה פשוטה.

איך מגדירים 'איכות פרסום'? אנא פרט אילו היבטים אתה אוהב לראות מכוסים ... למשל. שימוש בצבעים, רוחב קו וכו 'האם התשובות צריכות להתמקד בגודל הגופן במקום זאת?
שבע תשובות:
#1
+14
csgillespie
2010-07-20 14:50:46 UTC
view on stackexchange narkive permalink

הדרך הקלה ביותר היא להשתמש ב- R

השתמש ב- read.csv להזנת הנתונים ב- R, ואז להשתמש בשילוב של העלילה ו- פקודות שורה

אם אתה רוצה משהו מיוחד באמת, אז הסתכל בספריות ggplot2 או סריג.

ב- ggplot2 הפקודות הבאות אמורות להתחיל.

  דורשים (ggplot2) # היית משתמש read.csv כאן N = 10d = נתונים .frame (x = 1: N, y1 = runif (N), y2 = rnorm (N), y3 = rnorm (N, 0.5)) p = ggplot (d) p = p + geom_line (aes (x, y1, color = "Type 1")) p = p + geom_line (aes (x, y2, color = "Type 2")) p = p + geom_line (aes (x, y3, color = "Type 3")) # הוסף pointsp = p + geom_point (aes (x, y3, color = "Type 3")) הדפס (p) 

זה ייתן לך את העלילה הבאה:

עלילת קו http://img84.imageshack.us/img84/6393/tmpq.jpg

שמירת חלקות ב- R

שמירת מגרשים ב- R היא פשוטה:

  # תסתכל על? Jpeg לאפשרויות שמירה שונות אחרותjpeg ("figure.jpg") הדפס (p) #for ggplot2 graphicsdev.off ()  

במקום jpeg של אתה יכול גם לשמור כ- pdf או קובץ postscript:

  #This דוגמה משתמשת בגרפיקה בסיסית של R # פשוט שנה להדפסה (p) עבור שורות ggplot2pdf ("figure.pdf") (d $ x, y1, type = "l") (d $ x, y2) dev.off ( )  
מה דעתך לשמור לקובץ?
או בקצרה יותר עם נמס ו- qplot: `m <- melt (d, id =" x "); qplot (משתנה, ערך, נתונים = m, צבע = משתנה) `
למעשה, דרך קלה עוד יותר היא להשתמש ב- R + deducer עם ggplot2 (יש מהדורה חדשה של זה שעומד לצאת בחודשים הקרובים. קיימת גרסת בטא)
דוגמה נחמדה, אבל העלילה כמעט ואינה איכות פרסום. או שלפחות אף אחד מהכתבי העת שאני מפרסם בהם לא יקבל את זה.
"בקושי איכות פרסום" ???? אני מבין שזה לא מושלם - הביטוי "... אם אתה צריך להתחיל .." מכסה קצת את זה. אבל עם קצת עבודה נוספת, כלומר תוויות ציר, הייתי אומר שזה בסדר. BTW, באילו כתבי עת אתה מפרסם?
מבחינתי גרפים שהם חלקות שחור-לבן ללא רקע מוצל המשתמשים באייקונים או סוגי קווים שונים חשובים. גם דרך קלה לעשות מרווחי ביטחון (היכן שמתאים) תהיה נחמדה.
#2
+13
Rob Hyndman
2010-07-20 14:45:19 UTC
view on stackexchange narkive permalink

קשה לעבור את R עבור גרפיקה. אתה יכול לעשות מה שאתה רוצה בשלוש שורות. לדוגמא, בהנחה שקובץ csv כולל ארבע עמודות:

  x <- read.csv ("file.csv") matplot (x [, 1], x [, 2: 4], סוג = "l", col = 1: 3) אגדה ("topleft", legend = c ("A", "B", "C"), lty = 1, col = 1: 3)  
מה דעתך להכניס אותו לפרסום?
R מייצרת גרפיקה באיכות הטובה ביותר בסביבה. כעורך כתב עת מחקר בינלאומי, אשמח שכל כותבינו ישתמשו ב- R.
.. ראה את ההערה שלי לשאלה ... איך אתה מגדיר 'איכות פרסום', או 'האיכות הטובה ביותר' ... מנקודת מבט של עורך?
אני אוהב לראות גרפיקה וקטורית (ללא jpegs), עיצוב גרפי על פי עקרונות Tufte & Cleveland, גופנים ניתנים לקריאה, אגדות לא מסודרות, ללא רקעים מוצלים, מגבלות ציר הגיוניות ומרווחי קרציות, צירים שכותרתו, ללא חפיפה של טקסט ותווים או קווים מזימים וכו '. רוב המחברים משתמשים בהגדרות ברירת המחדל של התוכנה שלהם, כך שלתוכנה טובה יש ברירות מחדל טובות. זה המקום שבו Excel נכשל כישלון חרוץ ו- R מסתדר די טוב. אבל אפשר לייצר גרפים עלובים ב- R וגרפים טובים באקסל. פשוט קל יותר לייצר גרפיקה באיכות גבוהה ב- R.
#3
+12
Shane
2010-07-20 20:10:35 UTC
view on stackexchange narkive permalink

R היא בהחלט התשובה. הייתי מוסיף רק למה שכבר אמרו רוב וקולין:

כדי לשפר את איכות העלילות שלך, כדאי לשקול להשתמש ב חבילת קהיר ל מכשיר פלט. זה ישפר מאוד את ה איכות של הגרפיקה הסופית. אתה פשוט קורא לפונקציה לפני שתכנן והיא מנותבת לקהיר כמכשיר הפלט.

  קהיר (600, 600, file = "plot.png", type = "png", bg = " לבן ") עלילה (rnorm (4000), rnorm (4000), col =" # ff000018 ", pch = 19, cex = 2) # שקוף למחצה reddev.off () # יוצר קובץ" plot.png "עם מעל העלילה  

לבסוף, מבחינת הכנסתו לפרסום, זה התפקיד ש Sweave ממלא. זה הופך את שילוב העלילות לנייר לפעולה של מה בכך (ויש לו יתרון נוסף בכך שישאיר אותך עם משהו ש ניתן לשחזור ומובן). השתמש ב cacheSweave אם יש לך חישובים ארוכי טווח.

כנראה טוב יותר משימוש בקהיר להפקת תמונת מפת סיביות זה שמירת גרפים כקטורים, שאינם תלויים ברזולוציה, לכן נראים טוב יותר כשגודל הגודל שלהם מתאימים תמיד לרזולוציית הדפסה - אני אוהב svg, שניתן לערוך בקלות עם [inkscape] (http: //www.inkscape.org).
#4
+11
Peter Smit
2010-07-20 14:53:12 UTC
view on stackexchange narkive permalink

הכלי המועדף עלי הוא פייתון עם mathplotlib

היתרונות:

  • ייצוא מיידי מהסביבה בה אני עושה את הניסויים שלי ב
  • תמיכה במבני הנתונים הקיצוניים / המנומסים
  • תחביר / אפשרויות מוכרים (רקע מטלב)
  • תמיכת לטקס מלאה לתוויות / אגדות וכו '. שאר המסמך שלך!

באופן ספציפי, לפורמטים שונים של קבצים כמו svg ו- eps, השתמש בפרמטר הפורמט של savefig

דוגמה: input.csv

 "שורה 1", 0.5,0.8,1.0,0.9,0.9 "שורה 2", 0.2,0.7,1.2,1.1,1.1 

קוד:

  ייבא csvimport matplotlib.pyplot כ- pltlegends = [] לשורה ב- csv.reader (פתוח ('input.csv')): legends.append (שורה [0]) plt.plot (שורה [1 :]) plt.legend (legends) plt.savefig ("out.svg", format = 'svg')  
האם תוכל לשים קטע קוד להשלמה? זה יהיה שימושי מאוד לאנשים בעתיד למצוא דף זה.
@ Łukasz הממ, איזו הצעה כיצד להעלות דמות svg?
היית יכול להזכיר בתשובתך שמטפלוטליב מאפשר טיוח של כל הטיפוגרפיה בעלילה עם LaTeX כך שהיא משתלבת בצורה מושלמת חזותית.
מעניין מדוע מטפלוטליב עדיין לא השתלב ב- R?
#5
+6
ars
2010-07-21 13:19:37 UTC
view on stackexchange narkive permalink

התבונן בגלריות לדוגמה לשלוש ספריות הדמיה פופולריות:

עבור השניים הראשונים, אתה יכול אפילו להציג את קוד המקור המשויך - הדברים הפשוטים הם פשוטים, אין הרבה שורות קוד. במקרה המקדים הקדום יהיה קוד ה- Java boilerplate הדרוש. שלושתם תומכים במספר גיבויים / מכשירים / מעבדים (pdf, ps, png וכו '). שלושתם מסוגלים בבירור לגרפיקה באיכות גבוהה.

אני חושב שזה די מסתכם באיזו שפה הכי נעים לך לעבוד. לך עם זה.

#6
+5
babelproofreader
2010-07-21 06:04:09 UTC
view on stackexchange narkive permalink

אפשרות נוספת היא Gnuplot

#7
+1
gerrit
2012-11-03 20:43:55 UTC
view on stackexchange narkive permalink

קל זה יחסי. שום כלי אינו קל עד שתדע להשתמש בו. כלים מסוימים עשויים להיראות קשים בהתחלה, אך מספקים לך שליטה הרבה יותר דק לאחר שתשתלט עליהם.

לאחרונה התחלתי להעלות את העלילות שלי ב pgfplots. בהיותה חבילת LaTeX (על גבי tikz ), היא טובה במיוחד לגרום לדברים להראות טוב. גופנים יהיו עקביים עם שאר המסמך וזה הרבה יותר קל לשלב את העלילות שלך באופן חזותי. זו לא האפשרות הקלה ביותר להכין עלילות, אך זו דרך די קלה להכין עלילות שבוודאי איכות פרסום.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 2.0 עליו הוא מופץ.
Loading...